Win32 を使用した Windows アプリケーションでのスクリーンショットの取得
アクティブな画面のスクリーンショットの取得は、Windows アプリケーションの開発における一般的な要件です。 Win32 API は、画面上のコンテンツをキャプチャして画像ファイルとして保存するために必要な関数を提供します。
Win32 でスクリーンショットを撮る方法
するにはWin32 アプリケーションのスクリーンショットを取得するには、次の手順に従います。
- を使用して表示画面のデバイス コンテキストを取得します。 GetDC(nullptr).
- 描画用に CreatePracticalDC(hScreenDC) を使用して互換性のあるデバイス コンテキストを作成します。
- GetDeviceCaps(hScreenDC, HORZRES) および GetDeviceCaps(hScreenDC, VERTRES) を使用して画面の寸法を決定します。 .
- 互換性のあるファイルを作成しますCreateSupportBitmap(hScreenDC, width, height) を使用して、ビットマップを作成してスクリーンショット データを保存します。
- SelectObject(hMemoryDC, hBitmap) を使用して、作成したビットマップを互換性のあるデバイス コンテキストに選択します。
- 画面の内容をコピーしますBitBlt(hMemoryDC, 0, 0, width, height, hScreenDC, 0, 0, SRCCOPY).
- 互換デバイス コンテキストからビットマップの選択を解除し、SelectObject(hMemoryDC, hOldBitmap) を使用して元のビットマップを復元します。
- 互換デバイス コンテキストと画面デバイスの両方を削除してリソースを解放しますDeleteDC(hMemoryDC) を使用したコンテキストとDeleteDC(hScreenDC).
このプロセスにより、画面全体をキャプチャし、ビットマップ イメージとして保存できます。必要に応じて、ビットマップをファイルに保存したり、アプリケーション内で表示したりできます。
以上がWin32 API を使用して画面全体のスクリーンショットをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。