• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c#Bitmapbyte[]Stream文件相互转换

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++——派生类中的访问——可见性问题发布时间:2022-07-13
下一篇:
C#从服务器下载文件代码发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap