流与Image对象的转换
来源:互联网 发布:剑灵刘亦菲捏脸数据图 编辑:程序博客网 时间:2024/06/06 20:33
/// <summary> /// 将Image数据转换为byte数组 /// </summary> /// <param name="pImage"></param> /// <returns></returns> public static byte[] ImageToObject(System.Drawing.Image pImage) { if (pImage == null) { return null; } //新建一个对象,避免内存冲突 System.Drawing.Bitmap bm = new System.Drawing.Bitmap(pImage); System.IO.MemoryStream msImage = new System.IO.MemoryStream(); BinaryFormatter bfImage = new BinaryFormatter(); bfImage.Serialize(msImage, bm); msImage.Close(); return msImage.ToArray(); } /// <summary> /// 将byte数组转换为Image对象 /// </summary> /// <param name="byteArray"></param> /// <returns></returns> public static System.Drawing.Image ObjectToImage(byte[] byteArray) { if (byteArray == null) { return null; } System.IO.MemoryStream msImage = new System.IO.MemoryStream(byteArray, 0, byteArray.Length); BinaryFormatter bfImage = new BinaryFormatter(); object objImage = null; try { if (byteArray.Length > 3 && ((byteArray[0] == 255 && byteArray[1] == 216 && byteArray[2] == 255 && byteArray[3] == 224) //判断是否为JPG || ( byteArray[0] == 137 && byteArray[1] == 80 && byteArray[2] == 78 && byteArray[3] == 71) //判断是否为PNG || ( byteArray[0] == 66 && byteArray[1] == 77 && byteArray[2] == 54 && byteArray[3] == 83) //BMP || ( byteArray[0] == 71 && byteArray[1] == 73 && byteArray[2] == 70 && byteArray[3] == 56) //gif || ( byteArray[0] == 66 && byteArray[1] == 77 && byteArray[2] == 40 && byteArray[3] == 1) )) { return System.Drawing.Image.FromStream(msImage); } objImage = bfImage.Deserialize(msImage); } catch (Exception err) { string strErr = err.Message; } finally { msImage.Close(); } return objImage as System.Drawing.Image; }
}
- 流与Image对象的转换
- byte[]与Image Image与 byte[] 之间的转换
- IrrlichtLime中Image对象与.NET中Image对象相互转换
- image与byte数组的转换[引用]
- image与byte数组的转换
- text与image字段的转换
- image与byte数组的转换
- image与byte数组的转换
- image与byte数组的转换
- image与byte数组的转换
- C# byte[]与Image的相互转换
- image与byte数组的转换
- image与byte数组的转换
- C# byte[]与Image的相互转换
- Image与byte[]数组的相互转换
- byte数组与Image的相互转换
- 预加载与JavaScript的Image()对象
- 对象与json的转换
- SVN地址更换
- 关于Jquery中ajax方法data参数用法的总结
- No bean named transactionManager is defined 多数据源的单元测试
- android分享功能
- dSploit - Android Network Penetration Suite
- 流与Image对象的转换
- Android中Bitmap和Drawable
- QT 打开文件对话框总结
- hdu 1438 - 钥匙计数之一
- 51单片机模拟PS2协议制作5X5矩阵工业键盘
- sharepoint:实现搜索功能
- C++之继承与派生(2)
- sqlite3的绑定函数族使用,及其注意事项
- 二代身份证与社会保障卡照片要求