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[] => Bitmapjava
byte[] bytelist=bytes; MemoryStream ms1 = new MemoryStream(bytelist); Bitmap bm = (Bitmap)Image.FromStream(ms1); ms1.Close();
一、由於若是不用Bmp的方式轉換字節的話,在轉換到字節的時候將會丟失數據;數組
二、MemoryStream的GetBuffer並非獲得這個流所存儲的內容,而是返回這個流的基礎字節數組,可能包括在擴充的時候一些沒有使用到的字節。this
出處:http://blog.csdn.net/tigertianx/article/details/7098490spa