PDA

Ver la Versión Completa : Captura de pantalla en un Bitmap


Neftali [Germán.Estévez]
30-06-2006, 10:13:23
¿Cómo se puede capturar la pantalla en un bitmap?

Sobre un formulario, coloca un TImage y un TButton. Copia el siguiente código:


procedure ScreenShot (Image : TBitmap);
var
DC : HDC;

begin
DC := GetDC (GetDesktopWindow);
// Proteccion para liberar
try
Image.Width := GetDeviceCaps (DC, HORZRES);
Image.Height := GetDeviceCaps (DC, VERTRES);
BitBlt(Image.Canvas.Handle, 0, 0, Image.Width,
Image.Height,DC, 0, 0, SRCCOPY);
finally
ReleaseDC (GetDesktopWindow, DC);
end;
end;


Para utilizarlo puedes usar éste código en el OnClick del Botón:


procedure TForm1.Button1Click(Sender: TObject);
begin
ScreenShot(Image1.Picture.Bitmap);
end;