Mono for Android (4)-- 圖片轉爲二進制,二進制轉回圖片

最近糾結藍牙打印的問題,想着圖片先轉爲二進制發給打印機,找了好多資料,終於成功了,貼出來共享一下數組

先是圖片轉換爲二進制的:spa

Bitmap bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.Icon);
int size = bitmap.Width * bitmap.Height * 4;
// 建立一個字節數組輸出流,流的大小爲size   
System.IO.MemoryStream m = new System.IO.MemoryStream(size);
// 設置位圖的壓縮格式,質量爲100%,並放入字節數組輸出流中  
bitmap.Compress(Bitmap.CompressFormat.Png, 100, m);
// 將字節數組輸出流轉化爲字節數組byte[]  
byte[] dBytes = m.ToArray();

再是二進制轉回爲圖片,並顯示在頁面上(也能幫助檢驗你上個步驟轉換的對不對):code

 Bitmap bit2 = BitmapFactory.DecodeByteArray(imagedata, 0, imagedata.Length);
 Drawable drawable = new BitmapDrawable(bit2);

 ImageView imageview = FindViewById<ImageView>(Resource.Id.imageView2);
 imageview.SetImageDrawable(drawable);

ps:ImageView2是我畫在頁面上面的一個ImageView控件,用來顯示圖片,你們都懂的哈orm