当前位置:编程学习 > C#/ASP.NET >>

PictureBox显示某些有问题的gif图片时必定会出现“GDI+中发生一般性错误。”

1.每当PictureBox显示某些有问题的gif图片时必定会出现“GDI+中发生一般性错误。”,之后整个程序介面出现交叉的红线,程序退出。
2.可以打开这些有问题的图片,并且能显示动态效果,但是很快就会停下来不动了,停下来的画面是有部分空白的.在PictureBox里也是显示到这里就出错.
3.用记事本或UE打开有问题的图片查看文件时,并没有全为零的空白部分.
4.网上说这是非常严重的系统漏洞,黑客可以利用这个漏洞控制电脑,微软出了几个系统补丁,很多杀毒软件也出了专门工具.这些系统补丁我都下载安装过,专门的修复工具也用过,PictureBox在显示这些图片时依然出错.
5.我用的是.net2.0,我试过安装.net3.5依然是这样
6.我在PictureBox里只是显示硬盘上的图片文件,代码很短,没有save操作.网上很多出再GDI+一般性错误是因为Save出错的.
7.我试过几种方式显示图片,效果一样:
  A:pictureBox1.Load(filename)
  B.pictureBox1.Image = Image.FromFile(filename);
  C:Image image = Image.FromFile(filename);
    pictureBox1.Image = image;
  D.pictureBox1.ImageLocation = filename;
8.用 try catch 是捕捉不了这个错误的.
9.程序是要分页浏览显示上万个图片,只要碰到有问题的图片就会出错退出程序,这样影响很不好,各位有没有解决办法,或者怎么找出这些有问题的文件,或者让忽略错误而不退出? --------------------编程问答-------------------- 附件中有两个有问题的gif图片 --------------------编程问答-------------------- 没遇到过,帮顶 --------------------编程问答-------------------- 可能是图片的类型数据有些问题,但是利用图片浏览器采用了宽容模式所以能显示。还有注意图片名称中不能有特殊字符。 --------------------编程问答-------------------- 关注中 --------------------编程问答-------------------- 你给的链接-"您访问的资源不存在"
--------------------编程问答-------------------- 试一下:
  Bitmap b = new Bitmap(filename);
  pictureBox1.Image = b; --------------------编程问答-------------------- 发现同样问题 --------------------编程问答-------------------- 8.用 try catch 是捕捉不了这个错误的.
不是啊,我测试了下,用try catch很容易捕获到了这个错误,提示“Out of memory.” --------------------编程问答-------------------- 我也遇到了,同样的问题,如果有什么方案,能解决的,请告诉我,有报酬的。
联系QQ:679265 --------------------编程问答-------------------- 可否把图片发给我yushanshui@gmail.com --------------------编程问答-------------------- 同感。偶也遇到了这个问题。。。都没解决么 --------------------编程问答-------------------- 可以重载一个PictureBox。处理一下出错的位置。就可以了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,