读取和写入 png 文件时出现问题。我使用 ImageIO 将其读取到一个字节数组,然后使用 ImageIO 再次写入该字节数组。但文件大小显着增加。这怎么可能发生?
public BufferedImage toBufferedImage(InputStream inputstream) {
try {
return ImageIO.read(inputstream);
} catch (Exception e) {
throw new IllegalStateException("Can't convert to buffered image", e);
}
}
public byte[] toByteArray(BufferedImage bufferedImage, String filetype) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
try {
ImageIO.write(bufferedImage, filetype, output);
return output.toByteArray();
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
跟进:是否有任何库支持用 Java 编写且不需要任何本机代码的压缩 PNG?