字节数组的长度小于位图

时间:2013-04-08 11:25:45

标签: android bitmap byte

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

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

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

但是byteArray.length returned 57+ thousand

有什么问题?

1 个答案:

答案 0 :(得分:0)

您的位图是213x350像素,但您的字节数组包含压缩的PNG图像数据,每个像素不使用4个字节。在压缩数据时,PNG文件的总大小会更小。

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