如何将当前屏幕截图成为一张图片?

5
我想在我的应用程序中添加用户捕获当前屏幕并通过电子邮件发送的功能。由于我的用户群非常不懂技术,因此我需要尽可能简单易懂。我计划让他们点击名为“帮助我!”的菜单项,然后捕获当前应用程序屏幕,希望以jpg或png格式打开Outlook并将图像作为附件添加。

我正在阅读Code Project上的这篇文章ScreenCapture,但它有点过时,而且并不是我要找的东西,所以我想看看是否有更好的方法来做到这一点。

我该如何开始?是否有库,或者内置功能就足够了?

谢谢!

2个回答

13

你链接的那篇文章是正确的方法,只不过他们把它弄得很复杂。你应该使用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);
}

闪亮!(没有需要翻译的内容)小笔误 --> 第4行 --> Graphics.FromImage(ss)) - Refracted Paladin

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接