Ver Mensaje Individual
  #1  
Antiguo 26-10-2007
fonx fonx is offline
Miembro
 
Registrado: feb 2007
Posts: 54
Reputación: 18
fonx Va por buen camino
Tchart y cálculo de valores en coordenadas del ratón (mouse)

Bueno, antes de nada comentar que no se porque el código para colocar imágenes está desactivado. En este post van dos imágenes, así q para verlas hay que hacer click en el enlace, y el post queda un poco deslucido. Solo es un comentario, nada más. Bueno, al grano

Tchart con varias series dibujadas. Mi intención es intentar calcular el valor de cada serie en el corte entre la serie y la X del ratón. Me explico, cuando paso el ratón por la gráfica este tiene unas coordenadas X e Y. La coordenada Y no me interesa, pero la X si ya que si pongo el puntero en un pixel determinado quiero que se me calcule el valor de cada serie a la misma altura X que la del ratón.

Obtener las coordenadas X e Y del ratón es sencillo:

Código:
chartGraficos.Canvas.Pixels[i,j];
El primer problema es el siguiente, vease la siguiente imagen:



Las coordenadas del canvas, o tchart, o lo que sea empiezan en la flecha azul superior de la imagen. Las coordenadas de la flecha azul inferior seguro que son facilmente calculables. Pero lo que a mi me interesa son las coordenadas de las flechas rojas, es decir las coordenadas en el canvas del origen (el punto 0,0) y las coordenadas de la parte de arriba del gráfico, ya que como el gráfico es autoajustable al mayor de los valores de la gráficas, al tener el mayor valor de la gráfica y su x,y en el canvas y al tener el x,y en el canvas del 0,0 podemos calcular el valor en cada punto mediante una regla de tres ¿Me explico bien?

Pasemos al segundo problema, dando por hecho que hemos resuelto el primero. Echad un ojo a esta otra imagen:



Aquí muestro un zoom hecho al seleccionar con el ratón una parte del gráfico. ¿Ahora como hago para calcular los valores? Porque ya no tengo el punto 0,0, no el mayor valor de las series. Aquí de momento no tengo ideas para intentar solucionarlo. ¿Alguna idea?

Espero haber planteado bien el problema para q se entienda. Gracias de antemano por las posibles respuestas
Responder Con Cita