【发布时间】:2021-06-11 18:58:47
【问题描述】:
我开始使用 LLJTran 对 JPEG 图像进行无损旋转。 我对这个库的唯一问题是它的 iterface。
理想情况下,transform() 会返回 BufferedImage 对象,但它不返回任何内容,只是写入 OutputStream。
这里是 API。 http://mediachest.sourceforge.net/mediautil/javadocs/mediautil/image/jpeg/LLJTran.html
有人知道我如何从 OutputStream 中获取 BufferedImage 吗?
【问题讨论】:
-
如果您想要的只是
BufferedImage,为什么不自己轮换呢?请注意,BufferedImage包含未压缩的数据,因此支持无损旋转。看起来 LLJTran 会在OutputStream中返回重新压缩的 JPEG 数据,因此您必须再次解压缩才能获得BufferedImage。 -
我不确定,但是当我将 OutputStream 保存到文件时,我得到了完美旋转的图像,我认为它根本没有被压缩。我只是不想保存到文件然后从文件中读回。我想使用流只是不知道如何。我对 Java 中的 Streams 还很陌生
-
如果您只是将 OutputStream 写入文件,并且无需做更多操作即可获得完美的 JPEG 文件,那么它肯定包含压缩数据。正如我所说,将 JPEG 读入未压缩的 BufferedImage 并自行旋转。
标签: java bufferedimage