c# - 如何将当前屏幕捕获为图像?

标签 c# winforms .net-3.5 screenshot

我想为用户添加在我的应用程序中捕获当前屏幕并通过电子邮件发送的功能。我有一个非常非技术的用户群,所以我需要尽可能简单。我打算让他们点击一个名为 Help Me! 的菜单项。然后它将捕获当前的应用程序屏幕,希望是 jpg 或 png,然后打开 Outlook 并将图像添加为附件。

我正在阅读这篇文章 ScreenCapture在 Code Project 上,但它有点旧,并不是我想要的,所以我想我会检查是否有更好的方法来做到这一点。

我该如何开始呢?是否有图书馆或内置功能是否足够?

谢谢!

最佳答案

您链接的那个帖子是正确的方法,他们只是让它变得非常复杂。你会想使用 Graphics.CopyFromScreen .

Rectangle bounds = this.Bounds;

using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height))
using(Graphics g = Graphics.FromImage(ss))
{
  g.CopyFromScreen(this.Location, Point.Empty, bounds.Size);
  ss.Save("test.jpg", ImageFormat.Jpeg);
}

关于c# - 如何将当前屏幕捕获为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/715094/

相关文章:

wpf - 功能区工具栏和 Visual Studio 2008 Service Pack 1

c# - Xamarin Forms - 将 scrollview.Scrolled 附加到函数

c# - 再次引用shell32,C# Visual Studio

c# - 如果表单未激活,如何调用?

c# - 使子控件成为 IContainer

c# - 确保只有一个应用程序实例

c# - 是否可以使用 OleDb 将 Int[] 发送到 Oracle 存储过程

c# - 接口(interface)和依赖注入(inject)在 C# 中的正确使用

c# - 如何为 Listbox DataSource 实现一种方式绑定(bind)集合?

c# - 使用 ConfigurationManager 访问 v3.5 Azure WebJob 中的 App.config