将窗口形式捕获到图像中

本文关键字:图像 窗口 | 更新日期: 2023-09-27 18:27:27

我知道这个问题以前已经回答过了。但是没有一个答案是正确的。如何捕获窗口窗体的图像并保存它。我使用这个:

Bitmap bmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(bmp, new Rectangle(Point.Empty, bmp.Size));
bmp.Save(@"C://Desktop//sample.png",ImageFormat.Png);

但是得到错误:

GDI+中出现一般错误

我也读过这个错误,但没有一个建议对我有用!请帮助

将窗口形式捕获到图像中

问题出现在bmp.Save(@"C://Desktop//sample.png",ImageFormat.Png);中。

首先,它必须是@"C:''Desktop''sample.png",您不需要用逐字逐句的字符串来转义任何内容。

第二,确保路径正确,并且您有写入权限。

第三,正如Sayse所指出的处置位图。

using(Bitmap bmp = new Bitmap(this.Width, this.Height))
{
    this.DrawToBitmap(bmp, new Rectangle(Point.Empty, bmp.Size));
    bmp.Save(@"C:'Desktop'sample.png",ImageFormat.Png); // make sure path exists!
}

您的路径格式错误。应为:

bmp.Save("C:''Desktop''sample.png",ImageFormat.Png);

更重要的是-检查文件夹是否存在