BitmapFactory.decodeByteArray如何使用

decodeByteArray返回null

2016-08-01 10:15 29人阅读 评论(0) 收藏 编辑 删除

在做 自定义相机 截取图像 的时候,调用 系统函数 都会有 byte[] data 参数,一般 第一时间 会想到使用 BitmapFactory.decodeByteArray 函数,可是当 使用的时候,发现 得到的 Bitmap 对象是 null,所以 这个函数 不能 直接使用,使用方法如下:

 

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());

 

http://www.th7.cn/Program/Android/201511/694685.shtml

转载于:https://my.oschina.net/u/2915671/blog/784762

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值