ImageIO.write只能使用format = jpeg写出某些图像

时间:2016-11-05 12:05:27

标签: java png jpeg bufferedimage javax.imageio

我有以下代码:

val resizedImage = Scalr.resize(inputImage, Scalr.Method.QUALITY, Mode.FIT_TO_WIDTH, width)

val result = ImageIO.write(bufferedImage, "jpeg", outputStream)

我提供的BufferedImage总是来自我读过的PNG文件,然后使用Scalr库进行处理以调整其大小。我不认为Scalr部分真的很有趣但我把它包括在内以防......

此代码在大多数情况下都能正常工作,但对于某些图像(非随机),它会不断返回false。使用format = png似乎总是有效,而jpeg / jpg似乎在大多数情况下都有效。

有人可以解释一下为什么我的某些图片可能无法以jpg格式编写吗?我该怎么做才能确保正确地写出这些图像?

我甚至尝试通过添加此lib来增加对JPG的JVM支持。它起到了支持TIFF的作用,但它无助于解决我的JPG问题:https://github.com/haraldk/TwelveMonkeys

以下是发生问题的PNG:https://files.stample.co/stample-1478606412313-imagemagick-pdfPreview1484802533410454080.png

0 个答案:

没有答案