FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Dibujar en delphi
bueno, escribo aqui en busca de ayuda para hacer un pain en delphi y principalmente esa es la idea
de momento e intentado dibujar una linea en un image o un paintbox, lo e conseguido, pero la idea es que la linea se dibuje con forme arrastre el cursor y quede como definitiva cuando lo suelte. una cosa que observe, es que el evento onmouseup se activa al soltar cualqueir boton y necesito saber que boton se solto para que no me dibuje lineas con el otro boton del mause xD si alguien me puede ayudar, me haria un gran favor Noitam |
#2
|
||||
|
||||
Bueno, no es complicado, se trata de jugar con los eventos del Mouse.
Define en la parte privada un par de variables como éstas:
Y en los eventos del Mouse del PintBox lo siguiente:
Para distinguir entre un botón y otro del mouse, verás que exixte un parámetro Button: TMouseButton que te da esa información.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 19-07-2006 a las 11:24:31. |
#3
|
||||
|
||||
Otra idea
Yo hice un programa parecido al corel draw o al ilustrator, pero las tecnicas de dibujo son las mismas. Por que no utilizas mejor 2 Timage, uno encima de otro, el primero definelo como transparente. y utiliza las rutinas que ya te proporcionaron en la respuesta anterior, en el evento onmousedow guarda el punto de origen, en el evento onmousemove limpia el timage y traza una linea del punto original a la posiciòn del mouse, en el evento onmouseup guarda el segundo punto, ya teniendo ambos puntos , coloca el punto activo del pixel del cavans en el punto 1 y luego usa el procedimiento lineto(x,y) al punto dos
Pronto subire el programa que hice con el codigo a mi pagina, cuando lo haga te aviso. Perdona pero no tengo el codigo a la mano, asi que no recuerdo el nombre correcto de las rutinas. |
#4
|
|||
|
|||
Hola a todos
Segui este hilo y mi consulta es como hacer lo mismo pero con un jpeg dado que me da como error no es un bmp, si es posible, si no tendre que convertir. Y la otra duda es que siendo bmp la imagen en un image o paintbox al arrastrar el mouse la imagen se pierde completamente y se vuelve un cuadro blanco. Necesitaria crear un bitmap para que esto no ocurra o como lo solucionaria. Saludos y Gracias Soloriv. |
#5
|
|||
|
|||
como dibujar un circulo con los eventos del mouse en paintbox como se hace???... porfavor
|
#6
|
||||
|
||||
Cita:
Antes de nada te recomiendo que revises la Guia de estilo. Para dibujar un circulo/Elipse utilizando el código que hay arriba, puedes cambiar las dos líneas dode aparece (*1*) por éste código:
Y la línea donde pone (*2*) por esta:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
Vale... Ahora, a ver si esto es posible con el paintBox o con cualquier otro control.
dispongo de una Tree View en la que guardo todos los cuadrados, circulos que pinto dentro del paint box Ej Dibujo1 | |-- Cuadro 1 |-- Cuadro 2 Etc.... como se puede hacer para que Seleccionando Cuadro1 o Cuadro 2 por ejemplo cambie de color en la PaintBox? es Decir saber que elemento del dibujo se ha seleccionado.
__________________
Gracias de Antemano Última edición por jorllazo fecha: 26-09-2006 a las 09:43:41. |
#8
|
||||
|
||||
Si estás pensando en este tipo de operaciones, la técnica de pintar directamente sobre un paintBox (o similar) tal vez no sea la más adecuada; Debería revisar éste control (TSimpleGraph); Es especial para éste tipo de cosas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
|||
|
|||
MMmm...
creo que no me sirve ese control. Posiblemente tuviera que redibujar la pantalla y cambiar el relleno de la forma en particular. por que tengo sus coordenadas, pero al reves?, me refiero pinchando en la forma en particular, que me dijera cual es?
__________________
Gracias de Antemano |
#10
|
||||
|
||||
Cita:
El problema de dibujar directamente sobre el canvas, es que lo que dibujas no es un objeto en sí, sino pixels de colores. Si quieres seleccionar, modificar, mover,... los objetos que dibujas, deben ser objetos como tal y no pixels pintados. No se si me explico. Sea con este componente, con otro, o manualmente debes guardar la información completa de lo que estás dibujando, poder seleccionarlo y redibujar cuando cambias algo. Puedes hacerlo "a mano", pero este componente ya lo tiene implementado.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#11
|
|||
|
|||
Puede que si me funcione, el caso es que lo probare...
Sucede que si te encabezonas con la idea inicial que llevas.. ver a ver si tiene aplicacion... Gracias.
__________________
Gracias de Antemano Última edición por jorllazo fecha: 26-09-2006 a las 13:08:20. |
|
|
|