화면을 캡쳐해서 bmp 파일로 저장하는 코딩이다.
소스를 적당히 수정하면 화면내에서 특정부분을 캡쳐하는 코딩으로
일반화 할 수
있겠다.
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;
|
Posted by 동그랑땡88