델파이

화면 캡쳐하기

유돌이 2019. 9. 23. 10:50

procedure TFPAT070M.CaptureForm; 
var 
    Pt  :TPoint;     // 캡쳐할 화면의 Left, Top 좌표 
    DC  :HDC; 
    Bmp :TBitmap; 
begin 
 
  // 폼전체를 하기 위해 (0, 0) 으로 설정하였다. 
  Pt.x := 0;   // x => 폼에서의 Left 값 
  Pt.y := 0;   // y => 폼에서의 Top  값 
 
  // 폼의 좌표를 스크린 좌표로 변환한다. 
  Pt := ClientToScreen(Pt);                    
 
  // 캡쳐할 비트맵 생성 
  Bmp := TBitMap.Create; 
 
  try 
     // 비트맵 크기 지정 => 폼전체를 하기위해 폼의 크기를 지정하였다. 
     Bmp.Width  := Width; 
     Bmp.Height := Height; 
     DC := GetDC(0); 
     BitBlt(Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, DC, Pt.x , Pt.y, SRCCOPY); 
     ReleaseDC(0,DC); 
 
     Bmp.SaveToFile(Name + '.bmp')    // 비트맵 파일로 저장 
     // Clipboard.Assign(Bmp);        // 클립보드로 복사 
  finally 
     Bmp.Free; 
  end; 
 
end;