我想在单击"printscreen“后自动将图像保存到文件中,但我不知道我做错了什么。
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");
}
}代码不包含任何错误,它只是不能像预期的那样工作。
发布于 2013-05-22 23:09:17
默认情况下,Save method saves in png format (与bmp文件兼容,请参阅本教程中的示例)尝试显式指定图像的格式:
Image screenshot = Clipboard.GetImage();
screenshot.Save("c:\\Users\\Default\\Pictures\\screenshot.jpg", ImageFormat.Jpeg);发布于 2013-05-22 23:08:46
缺省情况下,使用png编码器,而不是jpg。
http://msdn.microsoft.com/en-US/library/vstudio/ktx83wah.aspx
如果要另存为JPG,则必须使用this overload
发布于 2013-05-22 23:14:16
当然,您可以随时更改ImageFormat,并在此之前从任何源复制到剪贴板。
item.SheetObject.CopyBitmapToClipboard();
Image img;
img = Clipboard.GetImage();
img.Save(temporaryFilePath + ".bmp", ImageFormat.Bmp);但@Ilya Ivanov也是正确的。
https://stackoverflow.com/questions/16695358
复制相似问题