Windows 應用程式螢幕截圖
在 Windows 程式設計中,擷取目前螢幕的螢幕截圖是常見的需求。為此,Win32 API 提供了必要的函數來取得螢幕的點陣圖表示。
Win32 螢幕截圖程式碼
使用下列指令在Windows 應用程式中截取螢幕截圖Win32,請依照下列步驟操作:
HDC hScreenDC = GetDC(nullptr);
檢索整個裝置上下文畫面。
HDC hMemoryDC = CreateCompatibleDC(hScreenDC);
建立相容的裝置上下文以複製螢幕點陣圖。
int width = GetDeviceCaps(hScreenDC,HORZRES); int height = GetDeviceCaps(hScreenDC,VERTRES);
取得螢幕的寬度和高度(以像素為單位)。
HBITMAP hBitmap = CreateCompatibleBitmap(hScreenDC,width,height);
建立相容點陣圖來保存螢幕影像。
HBITMAP hOldBitmap = static_cast<HBITMAP>(SelectObject(hMemoryDC,hBitmap));
將相容點陣圖選擇到相容的裝置上下文。
BitBlt(hMemoryDC,0,0,width,height,hScreenDC,0,0,SRCCOPY);
使用位元塊傳輸 (BitBlt) 將螢幕影像複製到相容的點陣圖。
hBitmap = static_cast<HBITMAP>(SelectObject(hMemoryDC,hOldBitmap));
將先前的位圖選擇恢復到記憶體設備上下文。
DeleteDC(hMemoryDC); DeleteDC(hScreenDC);
刪除兩個裝置上下文以釋放資源。
以上是如何使用 Win32 API 擷取 Windows 應用程式螢幕截圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!