In the GDI + error general form
我有目录,在目录 image background.jpg
在早期的工作中,我在背景中加载了这张图片
1 2 3 |
在这之后的模式,我需要改变这个形象。
我从服务器上摇动它,尝试在 images/background.jpg 中写入,但出现异常
"In the GDI error general form" - 这是俄语的翻译。
获取服务器图像并保存到计算机
HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create(request);
loHttp.Method = "GET";
loHttp.ProtocolVersion = HttpVersion.Version11;
HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
1 2 3 4 5 6 7 8 9 10 11 | 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 { } |
我该怎么办?
是的,此代码只能运行一次。调用 Save() 后,您就锁定了文件。再次保存会炸弹。您必须在调用 Save() 后调用 Dispose(),以便正确处理位图并释放文件锁。
在一次性类对象上不使用 using 语句或调用 Dispose() 是您在 .NET 中经常遇到的问题。但很少在位图上。
您保存到的路径 (images/background.jpg) 指向您的本地计算机,当路径不存在时可能会发生此错误。
尝试写入