为什么Bitmap转换为byte []会导致大小增加?

时间:2015-05-15 08:02:41

标签: android bitmap

我有一个将位图压缩到32K以下的功能。当我得到返回的Bitmap,将其转换为byte []时,大小增加了。 代码演示如下,输出为:

  

之前:30
  之后:85

我是否以错误的方式使用了Bitmap?

ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, baos);
int options = 100;
while (baos.toByteArray().length / 1024 > 31 && (count++ < 8)) { // compress to below 32K
    baos.reset();
    options -= 10;
    image.compress(Bitmap.CompressFormat.JPEG, options, baos);
}

ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());
Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);
LL.d("before: " + (baos.toByteArray().length/1024));
// here will return bitmap;
ByteArrayOutputStream output = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
LL.d("after: " + (output.toByteArray().length/1024));

0 个答案:

没有答案