PDA

Ver la Versión Completa : grafico de base en un TImage


elcigarra
20-12-2010, 01:06:38
Estimados quiero hacer un diagrama animado sobre un fondo estable par lo cual puse un gráfico de base en un TImage, el cual pretendo tomar en una variable TBitmap dibujarle el gráfico y plantarlo en el TImage que se muestra en la interfase.

Simplificadamente algo así:
ImageBase será la imagen con el gráfico de base
ImageResultado la que ve el usuario


procedure dibujardiagrama
var
imagenauxiliar:TBitmap
begin
imagenauxiliar := ImageBase.Picture.Bitmap;
// ... acá los cálculos que sean para que cambie cada vez que llame el procedimiento
imagenauxiliar.canvas.Fillrect(rect(etc...)); // esto no importa... son solo trazos
ImageResultado.Picture.Bitmap := aimagenauxiliar;
end;


El problema es que ImageBase también se le dibujan los trazos que supuestamente solo dibujo a imagenauxiliar, entonces la próxima vez que llamo al procedimiento imagebase está cambiada

Alguien sabe como evitar esto?

elcigarra
20-12-2010, 01:46:44
Perdon, ya esta, nada que un momento de lucidez no arregle:o


procedure dibujardiagrama
var
imagenauxiliar : TImage;
begin
imagenauxiliar.create(nil);
imagenauxiliar.width := ...
imagenauxiliar.Height := ...
imagenauxiliar.canvas.draw(0,0,ImageBase.Picture.Bitmap);
// ... acá los cálculos que sean para que cambie cada vez que llame el procedimiento
imagenauxiliar.canvas.Fillrect(rect(etc...)); // esto no importa... son solo trazos
ImageResultado.canvas.draw(0,0,aimagenauxiliar.picture.bitmap);
end;


Es que hace tiempo no usaba graficos

Tal vez haya otra forma pero así funciona
Saludos