c# GDI+保存图像时的一般错误
本文关键字:错误 GDI+ 保存 图像 | 更新日期: 2023-09-27 18:13:48
我想保存一个System.Drawing.Image
到一个文件。
这是我的代码:
using(WebClient webClient = new WebClient())
webClient.DownloadFile(new Uri(defaultPic), defaultPicPath);
var tempImg = System.Drawing.Image.FromFile(defaultPicPath);
using(System.Drawing.Image RoundedImage = RoundCorners(tempImg, 90, System.Drawing.Color.Transparent)) {
RoundedImage.Save(defaultPicPath);
tempImg.Dispose();
}
在RoundedImage.Save(...);
行,我得到错误
GDI+的一般错误。
我很确定文件没有被任何WPF控件或图像锁定。
感谢任何帮助!
谢谢!
从你的代码中我可以看到,你没有释放文件。
,
-
首先读取图像并创建它的本地深度副本(
tempImage
)。(注意:使用克隆方法的浅拷贝将不起作用) -
释放镜像文件
-
修改本地副本
-
覆盖原文件
-
处理本地副本(
tempImage
)。
尝试以下操作,应该可以;
Image tempImage;
using(var img = System.Drawing.Image.FromFile(defaultPicPath))
tempImage=new Bitmap(img);
using(System.Drawing.Image RoundedImage = RoundCorners(tempImg, 90, System.Drawing.Color.Transparent))
RoundedImage.Save(defaultPicPath);
tempImg.Dispose();