首页 >后端开发 >C++ >如何在我的应用程序中捕获屏幕截图并将其保存为位图?

如何在我的应用程序中捕获屏幕截图并将其保存为位图?

Patricia Arquette
Patricia Arquette原创
2025-01-16 17:33:13893浏览

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