Java将图像转换为字节数组大小问题

sur*_*der 6 java image bytearray

我有下面的代码片段将图像转换为字节数组.

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
baos.flush();
byte[] imageBytes = baos.toByteArray();
baos.close();
Run Code Online (Sandbox Code Playgroud)

我面临的问题是图像的大小约为2.65MB.但是,imageBytes.length给我的值超过5.5MB.有人能让我知道我哪里出错吗?

Woj*_*zyk 4

PNG 并不总是可靠的往返格式。它的压缩算法可以产生不同的结果。

编辑:同样适用于 JPEG。