首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按PrintScreen键后创建图像文件

按PrintScreen键后创建图像文件
EN

Stack Overflow用户
提问于 2013-05-22 23:06:53
回答 4查看 2.9K关注 0票数 2

我想在单击"printscreen“后自动将图像保存到文件中,但我不知道我做错了什么。

代码语言:javascript
复制
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.PrintScreen)
        {
            Image screenshot = Clipboard.GetImage();
            screenshot.Save("c:\\Users\\Default\\Pictures\\screenshot.jpg");
        }
    }

代码不包含任何错误,它只是不能像预期的那样工作。

EN

回答 4

Stack Overflow用户

发布于 2013-05-22 23:09:17

默认情况下,Save method saves in png format (与bmp文件兼容,请参阅本教程中的示例)尝试显式指定图像的格式:

代码语言:javascript
复制
Image screenshot = Clipboard.GetImage();
screenshot.Save("c:\\Users\\Default\\Pictures\\screenshot.jpg", ImageFormat.Jpeg);
票数 3
EN

Stack Overflow用户

发布于 2013-05-22 23:08:46

缺省情况下,使用png编码器,而不是jpg。

http://msdn.microsoft.com/en-US/library/vstudio/ktx83wah.aspx

如果要另存为JPG,则必须使用this overload

票数 2
EN

Stack Overflow用户

发布于 2013-05-22 23:14:16

当然,您可以随时更改ImageFormat,并在此之前从任何源复制到剪贴板。

代码语言:javascript
复制
item.SheetObject.CopyBitmapToClipboard();
Image img;
img = Clipboard.GetImage();
img.Save(temporaryFilePath + ".bmp", ImageFormat.Bmp);

但@Ilya Ivanov也是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16695358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档