屏幕捕获功能覆盖

时间:2009-08-26 21:19:18

标签: c# winforms clipboard printscreen

我想做的是用C#编写应用程序,如“fraps”和其他scren捕获应用程序,当您按下“打印屏幕”时,它会将当前屏幕保存为图像。

我想到的是那个

“我可以创建一个后台工作线程,在x秒后检查剪贴板,如果有图像,由于点击打印屏幕现在在剪贴板中,它会将剪贴板内容写入jpeg或位图文件”bu i缺乏以下知识

  • 我如何知道剪贴板或某些文字或文件中有图片

  • 如何将该剪贴板写入图像文件,如如何将该数据转换为JPEG(LZ-W格式)或位图格式等。

任何人都可以从C#编码预期中获得一些知识或指导或帮助

1 个答案:

答案 0 :(得分:2)

由于Image类:

,保存到特定格式非常容易
myImage.Save("someimage.bmp", System.Drawing.Imaging.ImageFormat.Bmp);

就检查剪贴板而言,你可以做到这一点,但我认为你可能会遇到一些问题,你不知道图像来自打印屏幕,还是来自用户所做的Ctrl-c 。但是,您可以轻松检查剪贴板:

if (Clipboard.ContainsImage())  
    myImage = Clipboard.GetImage();