C# Bitmap类型与Byte[]类型相互转化

发布时间:2018-04-19编辑:佚名阅读(1946)

//Bitmap => byte[] 
Bitmap b = new Bitmap( "test.bmp "); 
MemoryStream ms = new MemoryStream(); 
b.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp); 
byte[] bytes= ms.GetBuffer(); //byte[] bytes= ms.ToArray(); 这两句都可以,至于区别么,下面有解释
ms.Close();
//byte[] => Bitmap
byte[] bytelist=bytes; 
MemoryStream ms1 = new MemoryStream(bytelist); 
Bitmap bm = (Bitmap)Image.FromStream(ms1); 
ms1.Close();

1、因为如果不用Bmp的方式转换字节的话,在转换到字节的时候将会丢失数据; 
2、MemoryStream的GetBuffer并不是得到这个流所存储的内容,而是返回这个流的基础字节数组,可能包括在扩充的时候一些没有使用到的字节。

    关键字: C# Bitmap类型与Byte[]类型相互转化


鼓掌

0

正能量

0

0

呵呵

0


评论区