重庆市监理员考试题库:GDI+中发生一般性错误之图片转化为字节数组
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 05:37:54
GDI+中发生一般性错误之图片转化为字节数组 收藏 项目中前一次遇到字节数组转化为图片时偶尔出现“GDI+中发生一般性错误”,这回是图片转化为字节数组时出现这种情况。经研究解决办法如下:原代码(出错代码)如下:
public static byte[] imageToByteArray(Image imageIn){ using (MemoryStream ms = new MemoryStream()) { if (imageIn != null) { imageIn.Save(ms,ImageFormat.Jpeg); } return ms.ToArray(); }}
方法一:
public static byte[] imageToByteArray(Image imageIn){ using (MemoryStream ms = new MemoryStream()) { if (imageIn != null) { Bitmap t=new Bitmap (imageIn); t.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); } return ms.ToArray(); }}方法二:
public static byte[] imageToByteArray(Image imageIn){ using (MemoryStream ms = new MemoryStream()) { if (imageIn != null) { Bitmap pic = new Bitmap(imageIn.Width, imageIn.Height); Graphics g = Graphics.FromImage(pic); g.DrawImage(imageIn, 0, 0, imageIn.Width, imageIn.Height); g.Dispose(); pic.Save(ms, ImageFormat.Jpeg); pic.Dispose(); } return ms.ToArray(); }}两种方法实际上都是新建了一个与原图一模一样的副本,在木子的技术空间(http://www.cnblogs.com/szulm/articles/1227060.html)找到这么一句话“Bitmap 对象或一个 图像 对象从一个文件, 构造时该文件仍保留锁定对于对象的生存期。 因此, 无法更改图像并将其保存回它产生相同的文件。”个人认为发生GDI+一般性错误的原因是对象引用与对象的生存期的问题。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huhai463127310/archive/2008/11/25/3372988.aspx
public static byte[] imageToByteArray(Image imageIn){ using (MemoryStream ms = new MemoryStream()) { if (imageIn != null) { imageIn.Save(ms,ImageFormat.Jpeg); } return ms.ToArray(); }}
方法一:
public static byte[] imageToByteArray(Image imageIn){ using (MemoryStream ms = new MemoryStream()) { if (imageIn != null) { Bitmap t=new Bitmap (imageIn); t.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); } return ms.ToArray(); }}方法二:
public static byte[] imageToByteArray(Image imageIn){ using (MemoryStream ms = new MemoryStream()) { if (imageIn != null) { Bitmap pic = new Bitmap(imageIn.Width, imageIn.Height); Graphics g = Graphics.FromImage(pic); g.DrawImage(imageIn, 0, 0, imageIn.Width, imageIn.Height); g.Dispose(); pic.Save(ms, ImageFormat.Jpeg); pic.Dispose(); } return ms.ToArray(); }}两种方法实际上都是新建了一个与原图一模一样的副本,在木子的技术空间(http://www.cnblogs.com/szulm/articles/1227060.html)找到这么一句话“Bitmap 对象或一个 图像 对象从一个文件, 构造时该文件仍保留锁定对于对象的生存期。 因此, 无法更改图像并将其保存回它产生相同的文件。”个人认为发生GDI+一般性错误的原因是对象引用与对象的生存期的问题。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huhai463127310/archive/2008/11/25/3372988.aspx
GDI+中发生一般性错误之图片转化为字节数组
图片文字识别转化为txt或word文档
视频表格中如何将姓名转化为拼音怎么办
整理:java整型数与网络字节序的 byte[] 数组转换关系
vba从一个数组中找出另一数组不同内容
C struct 中字节对齐问题
GDI+ 和 GDI比较
转化为灰度图
数字转化为字符串
js中遍历数组的效率问题
知识管理中隐性知识,是知识转化为企业竞争力的直接动力
津液转化为血,还是血转化为津液?
C语言中一个字节对齐问题的分析
内存中字节操作--高低位的问题
知识转化为力量 关键
转化困难为菩提道
string如何转化为TFieldType
JS判断数组中是否包含某一项
潜能生转化之我见
如何将vcd格式转化为能在影巨HF209B数码电子相册中播放的avi格式
当前页脚本发生错误
指针数组 数组指针
以文育警 让文化魅力转化为
怎样转化pdf文件为word文档