1)bitmap 轉化為 byte
bytearrayoutputstream out = new bytearrayoutputstream();
bitmap.compress(bitmap.compressformat.png, 100, out);
byte array= out.tobytearray();
2)byte轉化為bitmap
final contentresolver contentresolver = context.getcontentresolver();
final packagemanager manager = context.getpackagemanager();
final cursor c = contentresolver.query(uri, null, null, null, null);
final int icon3dindex = c.getcolumnindexorthrow(columnname);
byte data = c.getblob(icon3dindex);
bitmap bitmap = bitmapfactory.decodebytearray(data, 0, data.length);
3)bitmap 轉換 drawable
bitmap bitmap = new bitmap(...);
drawable drawable = new bitmapdrawable(bitmap);
//drawable drawable = new fastbitmapdrawable(bitmap);
4)drawable to bitmap
a. bitmapdrawable, fastbitmapdrawable直接用getbitmap
b. 其他型別的drawable用canvas畫到乙個bitmap上
canvas canvas = new canvas(bitmap) drawable.draw(canvas);
drawable d = imageslist.get(0);
bitmap bitmap = ((bitmapdrawable)d).getbitmap();
1、drawable---->bitmap
view code
12、從資源中獲取bitmap:drawable---->bitmappublic
static
bitmap drawabletobitmap(drawable drawable)
view code
1 resources res=getresources();3、bitmap---->drawable2 bitmap bmp=bitmapfactory.decoderesource(res, r.drawable.pic); 3//
或者這種方法也行,這兩種方法都一樣
4 bitmap bmp = ((bitmapdrawable)this.getresources.getdrawable(r.drawable.pic)).getbitmap();
view code
14、bitmap---->byte/**2
* bitmap轉化為drawable 3*
@param
bitmap 4*
@return5*/
6public
static
drawable bitmap2drawable(bitmap bitmap)
view code
15、byte---->bitmapprivate
byte
bitmap2bytes(bitmap bm)
view code
1private bitmap bytes2bimap(byte
b)
5else
8 }
bitmap與2 bitmap使用總結
bitmap是一種簡單的資料結構,但在儲存空間壓縮方面卻使用廣泛。bitmap就是用乙個bit位來標記某個元素是否存在 1表示存在,0表示不存在 而2 bitmap就是用兩個bit為來標記某個元素出現的次數 00出現0次,01出現1次,10出現2次及其以上,11無意義。2 bitmap在記憶體中的表...
Bitmap與Options微技巧
今天在測試的時候發現乙個異常,bitmap縮放的尺寸沒有達到預期的效果,於是我對options物件輸出日誌發現,這個尺寸是正常的,log.e tag w options.outwidth h options.outheight 09 06 08 41 25.536 e tag 18964 w 200...
Bitmap的載入與快取
android系統中一般用bitmap物件表示,它支援png,jpg等常見格式。通常情況下的體積都比較大,單個應用允許使用的記憶體又是有限的,所以我們需要採取一些手段減少記憶體占用並提高載入速度。假設我們用imageview顯示,通常它的尺寸要比的尺寸小很多,那麼把整個載入進記憶體顯然是沒有必要的。...