首頁 >後端開發 >C++ >如何在我的應用程式中捕獲螢幕截圖並將其保存為點陣圖?

如何在我的應用程式中捕獲螢幕截圖並將其保存為點陣圖?

Patricia Arquette
Patricia Arquette原創
2025-01-16 17:33:13841瀏覽

How Can I Capture and Save a Screenshot as a Bitmap in My Application?

以程式擷取螢幕截圖並將其儲存為點陣圖

將螢幕擷取功能直接整合到您的應用程式中提供了手動螢幕截圖的簡化替代方案。 本文詳細介紹了使用 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>

此程式碼首先建立一個尺寸與主螢幕相符的點陣圖。 然後從該位圖建立一個 Graphics 物件。 CopyFromScreen() 將螢幕內容複製到位圖中。 最後,將點陣圖儲存到檔案中,此處使用 PNG 格式。 此過程允許在應用程式中以程式設計方式操作捕獲的影像。

以上是如何在我的應用程式中捕獲螢幕截圖並將其保存為點陣圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn