0

我将位图转换为字节数组:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

例如,我的位图213x350 = 74550像素,
所以长度 byteArray 74550*4 = 298200

但是byteArray.length returned 57+ thousand

怎么了?

4

1 回答 1

0

您的位图为 213x350 像素,但您的字节数组包含压缩的 PNG 图像数据,每个像素不使用 4 个字节。随着您的数据被压缩,PNG 文件的总大小会变小。

要直观地查看它,只需打开任何图形编辑器(例如 gimp)并创建一个 213x350 像素的新图像。然后将此图像保存为 PNG 文件并查看其大小。

于 2013-04-08T11:32:26.847 回答