首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在GDI +错误一般形式中

在GDI +错误一般形式中
EN

Stack Overflow用户
提问于 2010-11-16 01:20:41
回答 2查看 230关注 0票数 1

我有目录,在目录镜像background.jpg中

在早期的工作中,我在后台加载了这张图片

代码语言:javascript
运行
复制
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();

代码语言:javascript
运行
复制
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 {  }

我该怎么办?

EN

回答 2

Stack Overflow用户

发布于 2010-11-16 02:03:16

是的,这段代码只能运行一次。在调用Save()之后,您已经锁定了该文件。再存一次就会爆炸。必须在调用Save()之后调用Dispose(),以便正确处理位图并释放文件锁定。

在.NET中,在可处理类对象上不使用using语句或调用Dispose()是很常见的,但在位图中却很少见。

票数 2
EN

Stack Overflow用户

发布于 2010-11-16 01:30:27

您要保存到的路径(images/background.jpg.jpg)指向您的本地计算机,当该路径不存在时可能会出现此错误。

尝试编写webImage.Save("c:\\background.jpg");或任何其他已知存在的路径,以查看错误是否仍然存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4187043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档