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函数