android bitmap 生成图片全黑 谁能告诉本人为啥呢

移动开发 码拜 9年前 (2016-05-02) 4343次浏览
如题,用的是二维码生成,在ImageView里面看的时候是正常的,然后保存到本地,是就黑色的,
保存代码如下

String file_name = VeDate.getNo(5) + ".png";
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File file = new File(path, file_name);
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
qrCodeBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
解决方案:5分
黑的说明没有数据,你改下压缩格式看看
解决方案:5分
Bitmap里没有数据就是黑的
LZ再仔细看看代码
解决方案:10分
qrCodeBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
这个参数怎么可能是100呢?是100就表示图片全没啦。
参数改为0,表示图片没有压缩,是100%
参数改为30,表示图片压缩到原来的70%
LZ参数是100,则表示图片压缩到原来的0%,  图片当然 没有啦。
解决方案:20分
出现的问题可能原因:
1 没有任何数据写入到图片
2 图片数据写入编码与读取编码不一致
qrCodeBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);中的100指图片的质量,并非缩放比,android API对此描述如下:
quality  Hint to the compressor, 0-100. 0 meaning compress for small size, 100 meaning compress for max quality. Some formats, like PNG which is lossless, will ignore the quality setting

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明android bitmap 生成图片全黑 谁能告诉本人为啥呢
喜欢 (1)
[1034331897@qq.com]
分享 (0)