プログラムでスクリーンショットをキャプチャしてビットマップとして保存する
スクリーン キャプチャ機能をアプリケーションに直接統合すると、手動でのスクリーンショット撮影に代わる合理的な方法が提供されます。 この記事では、C# を使用してこれを実現する方法について詳しく説明します。
Graphics.CopyFromScreen() の利用
画面キャプチャのコア機能は Graphics.CopyFromScreen()
です。このメソッドは、定義された画面領域を Bitmap オブジェクトに効率的にコピーします。 実装は次のとおりです:
<code class="language-csharp">// Create a Bitmap matching the primary screen's dimensions. Bitmap bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); // Create a Graphics object from the Bitmap. Graphics gfxScreenshot = Graphics.FromImage(bmpScreenshot); // Capture the entire screen. gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); // Save the screenshot (e.g., as a PNG). bmpScreenshot.Save("Screenshot.png", ImageFormat.Png); </code>
このコードはまず、プライマリ画面と一致する寸法のビットマップを作成します。 次に、このビットマップからグラフィックス オブジェクトが作成されます。 CopyFromScreen()
は、画面の内容をビットマップにコピーします。 最後に、ビットマップはファイルに保存されます。ここでは PNG 形式を使用します。 このプロセスにより、アプリケーション内でキャプチャされた画像をプログラムで操作できるようになります。
以上がアプリケーションでスクリーンショットをビットマップとしてキャプチャして保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。