所以就來介紹一下這三種資料型態該怎麼轉換。
Bitmap 轉 Drawable
Drawable drawable = new BitmapDrawable(Bitmap);
Drawable 轉 Bitmap
Drawable oDrawable = xxx; //xxx根據自己的情況獲取drawable BitmapDrawable BD = (BitmapDrawable) oDrawable; Bitmap BM = BD.getBitmap();
實體路徑圖片檔 轉 Drawable
//這句一定要在onCreate()里面調用 File tempFile = = new File("/sdcard/a.jpg"); Drawable drawable = Drawable.createFromPath(tempFile.getAbsolutePath());
從res\drawable中取出內存圖片為Bitmap
Resources res=getResources(); Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.ic_launcher);
imageView 轉 Bitmap
//圖片 ImageView imageView_save = (ImageView) findViewById(R.id.img_newphoto); //imageView轉Bitmap imageView_save.buildDrawingCache(); Bitmap bmp=imageView_save.getDrawingCache();
bitmap 轉 byte
Bitmap newbm; // 把 bitmap 轉成 byte ByteArrayOutputStream stream = new ByteArrayOutputStream(); newbm.compress(Bitmap.CompressFormat.JPEG, 100, stream ); byte bytes[] = stream.toByteArray();
後記:
這是我常用到的轉換,還蠻實用的,所以PO出來給需要的人參考,謝謝。
沒有留言:
張貼留言
您的寶貴建議是我前進的動力!