从 PNG 到 JPG 的缩略图转换导致全白图像

问题描述

对于许多图像,此代码可以很好地将 PNG 图像转换为 JPG:

Thumbnails.of(pngIn)
        .outputFormat("jpg")
        .scale(1.0)
        .toFile(jpgOut);

但是对于这个特定的图像:

enter image description here

代码生成全白 JPG 图像。如果有人能指出我在缩略图中做事的正确方法,我将非常感激。干杯!

编辑:嗯,图像上传/下载过程中的某些东西使附加图像起作用! (下载的图像是 50K,而原始图像是 41K,所以很明显那里有一些时髦。)但我保证原始 PNG 确实不起作用。

编辑 2:This link to Google 图片可用于下载页面右侧的 920x900 PNGWing 图片 (41K)。

解决方法

上述语法对于将 PNG 转换为 JPG 似乎是正确的。问题在于,当引用的图像被读入 BufferedImage 对象时,图像的类型是 BufferedImage.TYPE_BYTE_BINARY。虽然此类图像可以是 1 位、2 位或 4 位图像,但 Thumbnailator 无法正确处理 2 位或 4 位图像,基本上假设图像是 1 位图像。

简而言之:语法是正确的,但似乎存在一个缩略图错误,阻碍了某些 PNG 文件的成功处理。