Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Capturar la pantalla en un archivo Jpg (https://www.clubdelphi.com/foros/showthread.php?t=80454)

seoane 08-06-2006 18:28:35

Capturar la pantalla en un archivo Jpg
 
Código Delphi [-]
procedure Capturar(Filename: string);
var
  SrcWindow: THandle;
  SrcDC: HDC;
  Bitmap: TBitmap;
  Jpg: TJPEGImage;
begin
  SrcWindow:= GetDesktopWindow;
  if SrcWindow <> 0 then
  begin
    SrcDC:= GetDC(SrcWindow);
    if SrcDC <> 0 then
    begin
      Bitmap:= TBitmap.Create;
      Jpg:= TJPEGImage.Create;
      try
        Bitmap.Width:= GetSystemMetrics(SM_CXSCREEN);
        Bitmap.Height:= GetSystemMetrics(SM_CYSCREEN);
        BitBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,SrcDC,0,0,SRCCOPY);
        Jpg.CompressionQuality:= 60;
        Jpg.Assign(Bitmap);
        Jpg.SaveToFile(Filename);
      finally
        Bitmap.Free;
        Jpg.Free;
        ReleaseDC(SrcWindow,SrcDC);
      end;
    end;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
  Capturar('d:\captura.jpg');

Alcolea 24-06-2006 02:34:19

Sólo agregar que se debe poner en el uses la unit: jpeg y ExtCtrls para que funcione.


La franja horaria es GMT +2. Ahora son las 20:03:46.

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