压缩bitmap时返回null的问题

来源:互联网 发布:松下伺服选型软件 编辑:程序博客网 时间:2024/06/11 21:10

这段时间做了一个剪裁并压缩图片的demo,但是做到一半的时候发现在压缩的时候出现了一些问题。

经过debug发现返回的bitmap对象为null,但是看输入流对象不为空,纠结了很久,后来一位eoe上的网友提醒帮我解开了疑惑。

原因是同一个输入流用了两次,在压缩的时候用它计算了一次压缩比例,最后用BitmapFactory.decodeStream()生成bitmap的时候又用了一次;

所以我用了一种解决办法:

   把流通过toByteArray()转换成byte[]数组bt;

   压缩的时候把bt转换成一个(a)流再使用;

   生成bitmap的时候把bt转换成一个(b)流使用。

问题这样就解决了,办法可能会有些笨,现在还属于菜鸟,还需要学习大笑大笑

0 0