1. //byte[] 转图片
  2. publicstatic Bitmap BytesToBitmap(byte[] Bytes)
  3. {
  4. MemoryStream stream = null;
  5. try
  6. {
  7. stream = new MemoryStream(Bytes);
  8. returnnew Bitmap((Image)new Bitmap(stream));
  9. }
  10. catch (ArgumentNullException ex)
  11. {
  12. throw ex;
  13. }
  14. catch (ArgumentException ex)
  15. {
  16. throw ex;
  17. }
  18. finally
  19. {
  20. stream.Close();
  21. }
  22. }
  23. //图片转byte[]
  24. publicstaticbyte[] BitmapToBytes(Bitmap Bitmap)
  25. {
  26. MemoryStream ms = null;
  27. try
  28. {
  29. ms = new MemoryStream();
  30. Bitmap.Save(ms, Bitmap.RawFormat);
  31. byte[] byteImage = new Byte[ms.Length];
  32. byteImage = ms.ToArray();
  33. return byteImage;
  34. }
  35. catch (ArgumentNullException ex)
  36. {
  37. throw ex;
  38. }
  39. finally
  40. {
  41. ms.Close();
  42. }
  43. }
  44. }
  45. =====================
  46. * Stream 和 byte[] 之间的转换
  47. * - - - - - - - - - - - - - - - - - - - - - - - */
  48. /// <summary>
  49. /// 将 Stream 转成 byte[]
  50. /// </summary>
  51. publicbyte[] StreamToBytes(Stream stream)
  52. {
  53. byte[] bytes = newbyte[stream.Length];
  54. stream.Read(bytes, 0, bytes.Length);
  55. // 设置当前流的位置为流的开始
  56. stream.Seek(0, SeekOrigin.Begin);
  57. return bytes;
  58. }
  59. /// <summary>
  60. /// 将 byte[] 转成 Stream
  61. /// </summary>
  62. public Stream BytesToStream(byte[] bytes)
  63. {
  64. Stream stream = new MemoryStream(bytes);
  65. return stream;
  66. }
  67. /* - - - - - - - - - - - - - - - - - - - - - - - -
  68. * Stream 和 文件之间的转换
  69. * - - - - - - - - - - - - - - - - - - - - - - - */
  70. /// <summary>
  71. /// 将 Stream 写入文件
  72. /// </summary>
  73. publicvoid StreamToFile(Stream stream,string fileName)
  74. {
  75. // 把 Stream 转换成 byte[]
  76. byte[] bytes = newbyte[stream.Length];
  77. stream.Read(bytes, 0, bytes.Length);
  78. // 设置当前流的位置为流的开始
  79. stream.Seek(0, SeekOrigin.Begin);
  80. // 把 byte[] 写入文件
  81. FileStream fs = new FileStream(fileName, FileMode.Create);
  82. BinaryWriter bw = new BinaryWriter(fs);
  83. bw.Write(bytes);
  84. bw.Close();
  85. fs.Close();
  86. }
  87. /// <summary>
  88. /// 从文件读取 Stream
  89. /// </summary>
  90. public Stream FileToStream(string fileName)
  91. {
  92. // 打开文件
  93. FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
  94. // 读取文件的 byte[]
  95. byte[] bytes = newbyte[fileStream.Length];
  96. fileStream.Read(bytes, 0, bytes.Length);
  97. fileStream.Close();
  98. // 把 byte[] 转换成 Stream
  99. Stream stream = new MemoryStream(bytes);
  100. return stream;
  101. }

转载于:https://www.cnblogs.com/fogwang/p/3182390.html

c# Bitmap byte[] Stream 文件相互转换相关推荐

  1. C#二进制格式与文件相互转换

    将文件转换成二进制方法: /// <summary>     /// 将文件转换成二进制     /// </summary>     /// <param name=& ...

  2. 通过Spire-java实现word和pdf文件相互转换

    通过Spire-java实现word和pdf文件相互转换 导入依赖包 iceBlue官网 简介 接口文档 两个工具类 WordConvertUtils PdfConvertUtils 导入依赖包 sp ...

  3. qt实现sqlite数据库文件与csv文件相互转换

    一.使用场景 假设一:目前有一个项目记录数据是采用sqlite文件存储的,数据量很大,里面的记录数据客户需要将其导入到execl中进行报表编辑及汇报工作: 假设二:用户手里有点表配置表格,需要导入到工 ...

  4. byte转文件流 下载到本地

    此方法将byte类型文件转为文件流保存到本地 byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁 /*** byte 转文件 下载到本地* @param ...

  5. Bitmap,byte[],Drawable相互转化

    1.Drawable就是一个可画的对象.其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable).还有可能是一个图层(LayerDrawable),我们依据绘图 ...

  6. GDCM:将DICOM文件和XML文件相互转换的测试程序

    GDCM:将DICOM文件和XML文件相互转换 GDCM:将DICOM文件和XML文件相互转换 GDCM:将DICOM文件和XML文件相互转换 #include "gdcmFilename. ...

  7. golang []byte 和 string相互转换

    原文链接:golang []byte和string相互转换 测试例子 package mainimport ("fmt" )func main() {str2 := "h ...

  8. 3m格式的文件怎么转换成mp3_一招就能让PDF与其他格式文件相互转换,这样的大招你值得拥有...

    大家都知道,现在不少的大佬比起用Word.Excel等等这些格式文件,它们更喜欢使用PDF文件.而我们不管是将Word.Excel等文件转换成PDF,还是将PDF转换成其他格式文件,都是一件麻烦事,更 ...

  9. window文件转换到linux,Window和Linux上的文件相互转换

    当前位置:我的异常网» Linux/Unix » Window和Linux上的文件相互转换 Window和Linux上的文件相互转换 www.myexceptions.net  网友分享于:2013- ...

最新文章

  1. 数据结构与算法(2-2)线性表之链式存储(单链表、静态链表、循环链表、双向循环链表)
  2. hmm 求隐藏序列_统计学习方法--HMM回顾
  3. Windows下配置Tomcat使用https协议
  4. C# 系统应用之鼠标模拟技术及自动操作鼠标
  5. 在Latex中插入Python代码
  6. Kali Linux系统设置中文语言环境-1
  7. 新书预告<******笔记>快赏
  8. 利用后退按钮进行重复提交的解决办法。
  9. 众达两化融合贯标日记06~贯标启动会PPT
  10. SPSS实现两变量偏相关分析
  11. Oracle 客户端工具介绍
  12. 腾讯云账户注销操作教程
  13. hdu 5455 Fang Fang 2015沈阳网络赛 模拟
  14. 2022年中职网络空间安全国赛竞赛题解析仅代表自己的建议——2022年中职网络安全国赛竞赛试题1解析
  15. 【杂记】01:王者荣耀,再见?
  16. Android -Recovery
  17. CentOS7修改ip的两种方法
  18. 17_AOP入门准备_Salay案例(利用动态代理)
  19. 23年哪些企业不能申报高企
  20. H.266/VVC测试软件VTM

热门文章

  1. sqlmap绕过d盾_WEBSHELL免杀绕过WAF思路amp;方法(一)
  2. python类_python类和对象
  3. Python绘制桑基图
  4. 这三个Python小技巧你要知道
  5. 26岁想转嵌入式软件开发来得及吗?参加嵌入式培训好不好?
  6. oracle数据库 pc6,使用logdump 查看ogg的CSN
  7. c语言计算字符串的函数是什么,字符函数
  8. 0x62.图论 - 最小生成树
  9. P1223 排队接水
  10. html刷新页面出现412,html5-video – 如何修复412(前置条件失败)错误HTML5视频标记