博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Stream/Bytes[]/Image对象相互转化
阅读量:5153 次
发布时间:2019-06-13

本文共 2044 字,大约阅读时间需要 6 分钟。

Stream转Byte数组、Image转Byte数组、文件转Stream等

streamHelper

/// /// 将 Stream 转成 byte[]/// /// /// 
public static byte[] StreamToBytes(Stream stream){ byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); return bytes;}/// /// 将 byte[] 转成 Stream/// /// ///
public static Stream BytesToStream(byte[] bytes){ Stream stream = new MemoryStream(bytes); return stream;}/// /// 字节流转换成图片 /// /// 要转换的字节流 ///
转换得到的Image对象
public static Image BytToImg(byte[] byt){ try { MemoryStream ms = new MemoryStream(byt); Image img = Image.FromStream(ms); return img; } catch (Exception ex) { LogHelper.WriteError("StreamHelper.BytToImg 异常", ex); return null; }}/// /// 图片转换成字节流 /// /// ///
public static byte[] ImageToByteArray(Image img){ ImageConverter imgconv = new ImageConverter(); byte[] b = (byte[])imgconv.ConvertTo(img, typeof(byte[])); return b;}/// /// 把图片Url转化成Image对象/// /// ///
public static Image Url2Img(string imageUrl){ try { if (string.IsNullOrEmpty(imageUrl)) { return null; } WebRequest webreq = WebRequest.Create(imageUrl); WebResponse webres = webreq.GetResponse(); Stream stream = webres.GetResponseStream(); Image image; image = Image.FromStream(stream); stream.Close(); return image; } catch (Exception ex) { LogHelper.WriteError("StreamHelper.Url2Img 异常", ex); } return null;}/// /// 把本地图片路径转成Image对象/// /// ///
public static Image ImagePath2Img(string imagePath){ try { if (string.IsNullOrEmpty(imagePath)) { return null; } byte[] bytes = Image2ByteWithPath(imagePath); Image image = BytToImg(bytes); return image; } catch (Exception ex) { LogHelper.WriteError("StreamHelper.ImagePath2Img 异常", ex); return null; }}

详细代码看

转载于:https://www.cnblogs.com/fanyong/p/3938017.html

你可能感兴趣的文章
Linux 系统常用命令汇总(五) 磁盘管理
查看>>
给“System.Windows.Controls.DataGridColumnCollection”类型的集合添加值时发生异常。 [Line: 31 Position: 172]...
查看>>
PTA-栈
查看>>
linux下安装samba
查看>>
[置顶] 重复造轮子:注释的使用
查看>>
DEV控件之GridControl导出到Excel
查看>>
MySQL数据库的索引类型
查看>>
javascript设计模式-迭代器模式(Iterator)
查看>>
供参考的前端网站链接
查看>>
阿里官方Java代码规范标准
查看>>
大一下半年学期总结
查看>>
Count And Say
查看>>
解决 Ubutnu16.04 + opencv4.1 源码编译错误 Makefile:160: recipe for target 'all' failed
查看>>
python矩阵
查看>>
【转】ASCII码表在线查询
查看>>
vim插件
查看>>
【转】TestFlight APP测试(IOS如何让上架前给其他人测试)
查看>>
websocket --工作原理
查看>>
xampp安装及配置
查看>>
C++中四种类型转换方式
查看>>