Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   dibujar en un TImage una imagen (https://www.clubdelphi.com/foros/showthread.php?t=33185)

Drake 29-06-2006 13:13:23

dibujar en un TImage una imagen
 
hola gente alguien sabria como dibujar imagenes cargadas en un TImage en otro como por capas una encima de otra pero sin k se borren las anteriores dibujadas creo que se hace con el metodo Canvas pero ¿como?.

OSKR 29-06-2006 21:00:50

Código:

Img2->Canvas->Draw(0,0,Img1->Picture->Graphic);
Ahora lo de las capas, no he hecho esto antes, pero.... tal vez pudiera funcionar montando Images uno sobre otro, jugando con el transparent de cada uno, etc.

Drake 01-07-2006 13:21:06

es justo lo k buscaba gracias OSKR lo de las capas solamente tenia k repetir el codigo:
Código:

Img2->Canvas->Draw(0,0,Img1->Picture->Graphic);
Img2->Canvas->Draw(0,0,Img3->Picture->Graphic);

y me salio a la perfeccion ahora lo malo es como deshago la accion es decir al dibujar sobre la imagen como se haria un deshacer de lo dibujado.

Lepe 01-07-2006 14:13:33

Cuando es posible se guarda en un "objeto" la lista de instrucciones usadas. En este caso, guardaríamos una lista con todas las imágenes intermedias. Al deshacer, se coge de esa lista la imagen que proceda, y se asigna al TImage.

¿Y como? Yo partiría por ejemplo de un TObjectList, que básicamente permite añadir TObjects dentro, cada TObject será un TImage nuevo al que se le asigna con la imagen actual.

Consumirá mucha memoria... bueno, depende del tamaño de la imagen.

Saludos

OSKR 02-07-2006 15:26:04

Lepe:
Cita:

... bueno, depende del tamaño de la imagen.
y de la cantidad de imágenes soportadas (lenght)

Lepe 03-07-2006 01:29:02

Cita:

Empezado por OSKR
Lepe:

y de la cantidad de imágenes soportadas (lenght)

Eso siempre se deja a la elección del usuario, normalmente se asigna un valor fijo, y en las preferencias del programa se puede ampliar.

buen apunte OSKR ;)

Saludos


La franja horaria es GMT +2. Ahora son las 17:25:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi