Как копировать образ экрана в файл

Материал из DRKB


На форме у меня стоит TImage (его можно сделать невидимым)


uses JPEG;

var
  ji: TJPEGImage;
  Dwh: HWND;
  DRect: TRect;
  DescDC: HDC;
  Canv: TCanvas;
begin
  ji := TJPEGImage.Create();
  try
    ji.CompressionQuality := 100;
    Image.Width := Screen.Width;
    Image.Height := Screen.Height;
    DWH := GetDesktopWindow();
    GetWindowRect(DWH, DRect);
    DescDC := GetDeviceContext(DWH);
    Canv.Handle := DescDC;
    DRect.Left := 0;
    DRect.Top := 0;
    DRect.Right := Screen.Width;
    DRect.Bottom := Screen.Height;
    Image.Canvas.CopyRect(DRect, Canv, DRect);
    ji.Assign(Image.Picture.Bitmap);
    ji.SaveToFile('M:\MyFile.jpg');
  finally
    ji.Free;
  end;
end;


Author: Vit
Source: http://forum.vingrad.ru
ID: 03818