Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Gráfico vectorial

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Gráfico vectorial Responder citando

Cúal es la mejor manera de dibujar en un formulario un gráfico vectorial a base de lineas y arcos.
Me gustaría que el gráfico se dibujase en una parte del formulario diferenciada del resto de elementos que hay en él.

Muchas gracias,
Napo

Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Hola Napo.
Creo que se hace "dibujando" en el canvas, puedes utilizar el del formulario, si reservas en él un espacio para que no se te mezcle con el resto de los componentes, no he hecho nada parecido, pero creo que es algo asi, mira en la ayuda o el el libraco.
Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Hola, yo lo hice utilizando el Canvas de un TImage. Ahí va un trocito de código, espero que te sirva de algo:

Image1->Canvas->MoveTo(20,20);
Image1->Canvas->LineTo(40,40);

Esto dibuja una línea desde el punto de coordenadas 20,20 de Image1 (el punto 0,0 es la esquina superior izquierda) hasta el punto de coordenadas 40,40.

Si los datos que quieres representar están en un vector, puedes utilizar un TChart.

Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Parece que eso me sirve. No se si al TImage se le pueden poner bordes rehundidos para que quede delimitado visualmente el área del gráfico. Lo que he hecho ha sido meterlo dentro de un GroupBox con todas las propiedades ak* en true, con lo que al cambiar de tamaño el GroupBox se cambia automáticamente el TImage.
Sólo hay un par de problemas:
¿como puede conseguirse que el fondo del TImage al dibujar algo no tenga color blanco?, quiero que tenga el color del fondo.
y ¿como puedo dibujar un línea en otro color? No encuentro donde especificar el color de lo que voy a dibujar.

Nada más, muchas gracias,
Napo

Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Hola.

Para cambiar el color del pincel con el que dibujas líneas tienes que hacer esto:

Canvas->Pen->Color=clWhite; (blanco)
Canvas->Pen->Color=clBlack; (negro)
Canvas->Pen->Color=clLyme; (verde claro)
Canvas->Pen->Color=clGray; (gris)

y eliges el color que quieras...

Si quieres cambiar el color de la brocha con la que rellenar los gráficos el proceso es casi igual:

Canvas->Brush->Color=clRed;

Un saludo a todos...

Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Hola a tod@s.

Napo, las propiedades ak* (anclajes) no son lo que tú necesitas usar (aunque funciona), hay otra propiedad que lo automatiza mejor, es Align (alineación), y lo que tú necesitas es ponerle el valor alClient (alineado al cliente, al GroupBox en que lo has alojado, esto pone a true las cuatro propiedades ak*). Te lo digo porque la mayoría de componentes tienen esta propiedad y es útil conocerla.

Otra cosa, preguntas cómo cambiar el color de fondo. Como te ha dicho Cerúleo, para cambiar el color de relleno usa Brush:

NombreImagen->Canvas->Brush->Color=clRed;

y lo pones rojo, pero si no pintas toda la imagen no observarás ningún efecto. Por eso, después de la anterior instrucción deberás ejecutar

NombreImagen->Canvas->FillRect(Rect(0, 0, Imagen->Width, Imagen->Height));

y después de esto ya puedes dibujar lo que quieras.

Aparte de todo esto, he leído que el TImage consume muchos recursos porque está diseñado para alojar gifs y tal, que es preferible el TPaintBox si vas a dibujar tú mismo la imagen. Pero parece que si usas TPaintBox tienes que redibujarlo cuando abres otra ventana sobre tu dibujo y luego vuelves a tu aplicación. Sobre esto no te puedo decir nada porque no lo he probado, este verano tendré tiempo y es una de mis prioridades. Si tu aplicación consume pocos recursos no te comas la cabeza y usa TImage, a mí me ha ido muy bien hasta que ha comenzado a crecer la aplicación.

Y nada más, que ya me vale lo rollero que soy.

Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Creo que Enrique tiene razón en cuanto a lo de redibujar la imagen.

Otra de las ventajas que tiene TImage es que lo que dibujes lo puedes guardar directamente en un fichero .bmp:

Image1->Picture->Bitmap->SaveToFile("Lo que sea");

Aunque quizás no necesites hacer esto.

Saludos!

Volver arriba
Mensaje    Asunto: Gráfico vectorial Responder citando

Cuanta información!!
Considerando que el programa no es demasiado complejo (de momento) y que es para uso propio, voy a decidirme por un control TImage, que parece que tiene más posibilidades.

Muchas gracias por la información.

Un saludo,
Napo.

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.