La Web del Programador: Comunidad de Programadores
 
    Pregunta:  59329 - GRAFICAR DOS LINEAS EN UN PICTUREBOX
Autor:  RICARDO Canabal
Hola quisiera ver si alguien me puede ayudar a graficar dos lineas en un picturebox.

utilizo el comando
picturebox1.line -(x1,y1)
picturebox1.line-(x2,y2)

el valor de x, es un contador para que camine la grafica en forma horizontal.
y los valores de y1, y2 son valores diferentes que son los que me interesa visualizar.
el problema es que si utilizo los picturebox1.line en forma independiente no hay ningun problema de grafica. pero cuando quiero que aparescan las dos graficas juntas, los valores de los puntos de y1,y2 se me juntan y sale puras rayas.
ya intente con matrices y pasa lo mismo, nose creo que puede ser por el autoredraw, pero no lo he conseguido, o posiblemente alguien tiene una mejor idea.
En resumen quiero poder graficar dos o tres lineas cada con sus verdaderos valores.
estos valores cambian en tiempo real ya que estoy metiendo datos por una tarjeta de adquisicion de datos.
Ojala puedan ayudarme, para no comprar los oxc de graficadoras xy.

Gracias

  Respuesta:  Jose Florentino Flores Valle
Comando para trazar una linea:

object.Line Step (x1, y1) - Step (x2, y2), color, BF

El método Line dibuja líneas y en ciertas condiciones cajas rectangulares de lados horizontales y verticales.

donde object es un objeto graficador de Visual Basic (Form1, Picture1), step (Marca el paso de donde hacia donde), color (vbBlack, vbRed), (x1, y1) son opcionales y son las coordenadas del punto inicial de la línea, si estos se omiten, la línea comienza en las coordenadas finales del ultimo trazado del objeto, (x2, y2) son obligados y contienen las coordenadas del punto final de la línea, (B) es un carácter opcional, que si se incluye se dibuja un rectángulo (Box) con los puntos dados como extremos de una de sus diagonales y (F) es también un carácter opcional, que sólo se puede incluir si se ha incluido B, si este se incluye, la caja rectangular se rellena (Fill) con el mismo color del contorno, si se omite la caja se rellena con las propiedades FillColor y FillStyle del objeto en el que se dibuja.

Cuando graficas en un picturebox o form, usas un "punto trazador" llamado "Current". Lo que sucede es que al final de graficar esa linea, ese punto queda con las coordenadas del final de la linea, y por lo tanto al trazar una nueva sin (x1, y1), empezara desde ahi. Para posicionar "Current", debes usar CurrentX y CurrentY, por ejemplo para posicionar el punto desde su origen se ocupa:

object.CurrentX = 0
object.CurrentY = 0

Donde object es un objeto graficador de Visual Basic (Form1, Picture1).