Ver Mensaje Individual
  #2  
Antiguo 14-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 21
andres1569 Va por buen camino
Hola:

En cuanto a lo de dibujar la linea de forma rápida, la mejor manera es usando una operación XOR, aunque con ello pierdas la de ventaja de ver la línea dibujada de un color concreto. La técnica consiste en dibujar la línea, aplicando previamente a la propiedad Mode del objeto Pen, la operación raster pmNOTXOR. Esto hace que la línea se dibuje en el color inverso del que hay en el Canvas (por ello no se dibuja de un color concreto), con la ventaja de que cuando vuelves a dibujar encima, devuelve la imagen a su color inicial, así te ahorras el tiempo de redibujado del fondo. Si quieres que la línea se actualice con mucha frecuencia, seguramente ésta es la mejor opción. El algoritmo sería más o menos este:
Código:
Pen.Mode := pmNOTXOR;
DibujaLinea;

// aquí va el bucle que grafica las curvas
repeat
  DibujaLinea;  // se dibuja la línea anterior para borrarla
  CambiaDatosCurva;  // se obtienen los datos de la nueva curva
  DibujaLinea;  // dibjamos la nueva curva
end;

DibujaLinea;  // por último borramos la curva de la pantalla
También hay componentes por ahí que hacen todo esto, normalmente de pago, dependiendo de la profesionalidad de lo que quieras obtener, quizás te interesen.
__________________
Guía de Estilo
Responder Con Cita