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(); |
我该怎么办?
是的,此代码只能运行一次。调用 Save() 后,您就锁定了文件。再次保存会炸弹。您必须在调用 Save() 后调用 Dispose(),以便正确处理位图并释放文件锁。
在一次性类对象上不使用 using 语句或调用 Dispose() 是您在 .NET 中经常遇到的问题。但很少在位图上。
- webImage.Despose – 对我没有帮助 =(。
- 很好,我希望不会。您为异常标记了错误的语句。 Image.FromStream() 无法从 NetworkStream 中读取,它需要一个支持 Seek() 的流。您需要先将流中的数据读取到 MemoryStream 中。
- 是的,我们无法沟通是显而易见的。只要能记得帮助过你,就一直是这样。几年了?
您保存到的路径 (images/background.jpg) 指向您的本地计算机,当路径不存在时可能会发生此错误。
尝试写入 webImage.Save(“c:\\\\background.jpg”); 或任何其他已知存在的路径以查看错误是否仍然存在。
来源:https://www.codenong.com/4187043/