开发者社区> 问答> 正文

关于BitmapFactory.decodeByteArray为空,的问题

String stra = d.getResult().getImage();

            try {
                byte[] data=null;
                data = stra.getBytes("UTF-8");
                // 为UTF8编码
                // 把二进制图片转成位图
                Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,
                        data.length,null);
                image.setImageBitmap(bitmap); 
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

data中有数据,bitmap为空

展开
收起
爵霸 2016-03-25 09:49:24 7633 0
1 条回答
写回答
取消 提交回答
  • 你的字节数据要先转成YUV格式的设置好image类型才可以调用decodeByteArray();改成这样

     YuvImage yuvimage=new YuvImage(data, ImageFormat.NV21, 20,20, null); //20、20分别是图的宽度与高度
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     yuvimage.compressToJpeg(new Rect(0, 0,20, 20), 80, baos);//80--JPG图片的质量[0-100],100最高
     byte[] jdata = baos.toByteArray();
     bitmap = BitmapFactory.decodeByteArray(jdata, 0, jdata.length);
    2019-07-17 19:13:31
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载