2016-08-01 10:15 29人閱讀 評論(0) 收藏 編輯 刪除html
在作 自定義相機 截取圖像 的時候,調用 系統函數 都會有 byte[] data 參數,通常 第一時間 會想到使用 BitmapFactory.decodeByteArray 函數,但是當 使用的時候,發現 獲得的 Bitmap 對象是 null,因此 這個函數 不能 直接使用,使用方法以下:android
Size previewSize = camera.getParameters().getPreviewSize();
YuvImage yuvimage=new YuvImage(nv21, ImageFormat.NV21, previewSize.width, previewSize.height, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
yuvimage.compressToJpeg(new Rect(0, 0, previewSize.width, previewSize.height), 80, baos); //這裏 80 是圖片質量,取值範圍 0-100,100爲品質最高
byte[] jdata = baos.toByteArray();//這時候 bmp 就不爲 null 了
Bitmap bmp = BitmapFactory.decodeByteArray(jdata, 0, jdata.length);
Log.i(TAG, "track21------>bmp.width== "+bmp.getWidth() +" bmp.height=="+bmp.getHeight());vim
http://www.th7.cn/Program/Android/201511/694685.shtml函數