FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Dibujar sobre Timagen
Hola, no sabía cómo resumir la pregunta en el título.
Tengo un Timage que tiene la propiedad Strech a true, de tal forma que se adapta al tamaño del form. Si dibujo sobre ella un rectángulo de 100x100 píxeles se dibuja bien, pero si cambio el tamaño del form, el rectángulo se deforma. Lo que yo quiero es que lo que dibuje sobre la imagen no se deforme. Para eso redibujo el rectángulo en cada evento Onresize del Tform. La orden siempre es que dibuje 100x100 pixeles, pero lo sigue dibujando deformado. La orden para dibujar el rectangulo es Rectangle(10,10,110,110) al parecer lo toma como píxeles de la imagen y si esta es deforma, escala las distancias. ¿Alguna idea? Gracias. |
#2
|
||||
|
||||
Cita:
__________________
[Crandel] |
#3
|
|||
|
|||
No, porque quiero que la imagen se adapte a la pantalla.
Lo que quiero es poder dibujar sobre ella con un tamaño en pixeles real, no relativo al tamaño de la imagen. |
#4
|
||||
|
||||
Strech lo que hace es justamente que tu imagen independiente del tamanio, ocupe toda la pantalla, eso deforma la imagen si el el tamanio de la imagen no es igual al tamanio del TImage.
Ahora si lo que quieres es que la imagen se adapte a la pantalla, no lo hagas con Strech sino modificando las propiedades del tamanio de la imagen
__________________
[Crandel] |
#5
|
|||
|
|||
Gracias,
Creo que lo que haré será redimensionar el Timage en el evento Onresize del TForm. |
#6
|
||||
|
||||
El tema es asi, el TImage no hace falta redimensionarlo manualmente, lo puedes hacer con la propiedad Align poniendola en alClient y listo, se adapta al tamaño del formulario o del espacio que le hayas dado.
El tema es la imagen que contiene. Si prestas atención al programa Paint de windows, veras que crea una imagen de tamaño definido y no lo redimensiona, dado que te puede llevar a problemas. xq ? al agrandar el tamaño de la imagen no hay problema dado que agregaras a la imagen espacio en blanco, pero si la achicas entonces borraras parte del dibujo. Lo mejor, es definir un tamaño de imagen que se adapte mejor a lo que tu situacion y permitirle al usuario modificarlo manualmente.
__________________
[Crandel] |
#7
|
||||
|
||||
Bueno, una solución es corregir las coordenadas para que se ajuste a la imagen "Streachada", por ejemplo:
Lo malo es que como la imagen esta deformada puede que los bordes del recuadro no aparezcan definidos, pero eso ya no lo podemos remediar. Otra solución, es no dibujar sobre la imagen. Puedes colocar un TPaintBox del mismo tamaño encima del TImage, y dibujar sobre el. |
#8
|
|||
|
|||
Gracias, investigaré lo del Paintbox.
Lo que quiero hacer es un lienzo sobre el que dibujar en ejecución, pero no dibuja el usuario, sino el programa. Y se adapta a las dimensiones del lienzo pero sin deformar, redibujando cada vez. Dibuja unos símbolos cuadrados de tamaño fijo y si el lienzo es más grande mete más en cada línea. ¿Debo usar un Timage o hay algo más adecuado? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dibujar sobre una imagen. | toorbye | Gráficos | 25 | 25-04-2017 10:47:55 |
Dibujar línea | dicatek | Gráficos | 8 | 29-07-2006 16:47:26 |
Dibujar figuras sobre un DBChart? | sano815 | Gráficos | 1 | 14-10-2005 05:21:58 |
error al cargar una imagen .jpg en un timagen | soyhugo | Varios | 5 | 31-05-2004 18:36:19 |
Dibujar en un TWebBrowser | nadie135 | Internet | 1 | 01-11-2003 22:57:41 |
|