我想压缩 BufferedImage
而不向磁盘写入任何内容,因为图像代表视频源中的帧,因此写入磁盘显然太慢。
我查看了 ImageIO.write(image, "png", OutputStream)
但我想不出使用什么 OutputStream
来防止写入生成的压缩图像到磁盘。
最佳答案
您可以使用 ByteArrayOutputStream
将字节写入字节数组:
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(image, "png", out);
byte[] bytes = out.toByteArray();
完成上述操作后,bytes
将保存图像包含的数据。
注意:ByteArrayOutputStream是一种特殊的输入类型OutputStream
,你不需要关闭它,但如果你仍然关闭它也没什么坏处。
关于java - 压缩 BufferedImage 而不写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35149243/