PDA

Ver la Versión Completa : capturar parte de la pantalla


gabriel3
21-01-2006, 14:35:06
Hola a todos...

En uno de los formularios de mi aplicación existe un Image grande. Sobre este Image hay mucho Image más pequeños. Me gustaria capturar la parte de la pantalla que se encuentra comprendida por el Image grande y almacenarla como un bmp. Para luego poder imprimirla.


Saludos.Gracias...

seoane
21-01-2006, 18:09:08
El siguiente codigo copia todo lo que se encuentre dentro del recuadro de la imagen, incluida la propia imagen y otras imagenes mas pequeñas que se encuentren sobre ella.


procedure TForm1.Button1Click(Sender: TObject);
var
bmp: Tbitmap;
begin
bmp:= Tbitmap.Create;
try
// Supongo que la imagen se llama Image1
bmp.Width:= Image1.Width;
bmp.Height:= Image1.Height;
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height,Canvas.Handle,Image1.Left,Image1.Top,SRCCOPY);
bmp.SaveToFile('c:\test.bmp');
finally
bmp.free;
end;
end;


Otra posible solucion seria crear un bitmap e ir copiando sobre el una a una las imagenes, esta seria una forma mas correcta de hacerlo pero tambien llevaria mas trabajo.

Espero que te sirva