天天看點

Android Bitmap轉位元組數組後大小問題

很多android開發者可能發現,将bitmap轉為位元組數組可能檔案大小和原始圖檔差異很大,代碼如下

 1.   位元組數組data儲存bitmap對象轉為位元組數組,處理代碼:

   bitmapfactory.decodebytearray(data, 0, data.length);

 2.  而第二種方法處理代碼:

bytearrayoutputstream baos = new bytearrayoutputstream();

bitmap.compress(bitmap.compressformat.jpeg, 100, baos);

data2 = baos.tobytearray();

   這裡其實很好了解,第二種方法使用了bitmap的compress方法,一般用于儲存一個bitmap對象,轉為位元組輸出流,但是compress目前編碼由兩種,比如jpg,一般處理照片和png,png一般處理帶alpha透明通道的圖檔,後面的第二個參數是清晰度,一般100是最高,0是最低,這個值越大圖檔越清晰,同時檔案體積越大,jpg和png都是壓縮的圖檔,是以和原始的直接通過bitmapfactory.decodebytearray解碼後的大小會有很大的不同。

繼續閱讀