我有目录,在目录镜像background.jpg中
在早期的工作中,我在后台加载了这张图片
ImageBrush imgBrush = new ImageBrush();
imgBrush.ImageSource = new BitmapImage(new Uri("images/background.jpg", UriKind.Relative));
border.Background = imgBrush;
在这个模式之后,我需要改变这个图像。我从服务器摇动它,尝试在images/background.jpg .jpg中写入,然后我得到了一个异常
“在GDI + error general form中”-这是俄语的翻译。
获取服务器图像并保存到计算机
HttpWebRequest loHttp =(HttpWebRequest)WebRequest.Create(请求);loHttp.Method = "GET";loHttp.ProtocolVersion = HttpVersion.Version11;HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream());
System.Drawing.Image webImage = System.Drawing.Image.FromStream(loWebResponse.GetResponseStream());
try
{
webImage.Save("images/background.jpg");//this exception
ImageBrush imgBrush = new ImageBrush();
imgBrush.ImageSource = new BitmapImage(new Uri("images/background.jpg", UriKind.Relative));
parent.GetSetBorder.Background = imgBrush;
}
catch { }
我该怎么办?
发布于 2010-11-16 02:03:16
是的,这段代码只能运行一次。在调用Save()之后,您已经锁定了该文件。再存一次就会爆炸。必须在调用Save()之后调用Dispose(),以便正确处理位图并释放文件锁定。
在.NET中,在可处理类对象上不使用using语句或调用Dispose()是很常见的,但在位图中却很少见。
发布于 2010-11-16 01:30:27
您要保存到的路径(images/background.jpg.jpg)指向您的本地计算机,当该路径不存在时可能会出现此错误。
尝试编写webImage.Save("c:\\background.jpg");
或任何其他已知存在的路径,以查看错误是否仍然存在。
https://stackoverflow.com/questions/4187043
复制相似问题