【问题标题】:How do I capture the current screen as an image?如何将当前屏幕捕获为图像?
【发布时间】:2010-10-17 10:29:47
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: c# winforms .net-3.5 screenshot


    【解决方案1】:

    你链接的那个帖子是正确的方法,他们只是让它变得非常复杂。你会想使用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)) Shiny!
    【解决方案2】:

    检查Graphics.CopyFromScreen 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 2018-12-03
      • 2022-01-13
      相关资源
      最近更新 更多