悬赏分:50 浏览:273 次
问题是关于一个 WINFORM程序 要从数据库里读图片 放在 控件里 然后保存的时候 再把这个图片 转换回字节数组。我的问题是:如果我换了图片保存很正常,如果不换图片,保存的话 就会出现 GDI+一般性错误。
具体代码如下 :
if (this.iconograph.Image != null)
{
b.Iconograph = ima.GetByte(this.iconograph.Image);
}
//this.iconograph 是窗体上的一个图片控件
// b.Iconograph 是我创建的一个 保存数据的对象 这个属性是字节数组 类型
//ima 是我创建的一个处理图片的类,实现各种对图片的操作。
//下面的是ima对象的一个实例方法, 从一个 image对象得到一个数组(如果换图片就没问题,不换就有问题)
public Byte[] GetByte( Image i)
{
byte[] b = null; ;
MemoryStream ms = new MemoryStream();
i.Save(ms,ImageFormat.Jpeg);
b= ms.ToArray();
ms.Close();
return b;
}
//i.Save() 会出现 gdi+一般性错误
求解啊 求解啊 !!!!!!!
|
3个月前 西凡 : 图片数据是完整的,因为已经显示出来了。我在图片控件的点击事件里添加了更换图片的功能。如果不换 保存就会出问题 |
|
3个月前 西凡 : 提高到30分 高手救我!!!!! |
|
3个月前 西凡 : 是这个异常 ExternalException |
|
3个月前 西凡 : 再次提分 希望有人帮忙 |
|
3个月前 玉开 : 参考一下:http://hi.baidu.com/tease/blog/item/c52b58da2aad2edbb7fd4831.html |
|
3个月前 玉开 : 换一下ImageFormat看是否能解决问题。 |
|
3个月前 deerchao : 由于格式原因,某些参数不标准的图片能显示出来不一定能保存.这个我是遇到过的. |
|
3个月前 西凡 : 还有,将一个 image对象 保存在硬盘上 也会出现 gdi+一般性错误 |
|
3个月前 西凡 : 问题都已经解决,我吧image换成 bitmap一切都 ok了 。这是为什么???? 为啥用了 BITMAP就没问题了呢 直接用 image 的 fromstream 就会出现异常 而用new bitmap() 就没问题 为什么呢 为什么呢 50分 同志们帮帮我,不能让这分浪费了赛 |