程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 抓獲全屏

抓獲全屏

編輯:Delphi

 

根據Windows GDI與設備無關的特點,利用BitBlt或StretchBlt函數將顯示設備上的位數據傳輸到目標設備上,然後在目標設備上創建兼容位圖:

SourceDC:=CreateDC(′DISPLAY′,′′,′′,nil);{創建源設備環境,DISPLAY為顯示器}

DestDC:=CreateCompatibleDC(SourceDC);

{創建和SourceDC兼容的目標設備環境}

BHandle:=CreateCompatibleBitmap(SourceDC,Screen.Width,Screen.Height) ;

{創建一個和SourceDC兼容的內存設備環境,並返回其設備句柄}

SelectObject(DestDC,BHandle);

BitBlt(DestDC,0,0,Screen.Width,Screen.Height,SourceDC,0,0,SRCCOPY) ;

{抓圖}

Bitmap:=TBitmap.Create;

{Bitmap為TBitmap類型}

Bitmap.Handle:=BHandle;

Bitmap.SaveToStream(′C:My DocumentsFullScreen.bmp′) ;{保存到文件}

DeleteDC(DestDC) ;

ReleaseDC(BHandle,SourceDC) ;

{釋放設備環境}

以上程序中,各設備環境的數據類型為Integer。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved