png - 从 PNG 到 JPG 的缩略图转换会导致全白图像
问题描述
对于许多图像,此代码可以很好地将 PNG 图像转换为 JPG:
Thumbnails.of(pngIn)
.outputFormat("jpg")
.scale(1.0)
.toFile(jpgOut);
该代码会生成一个全白的 JPG 图像。如果有人能指出我在 Thumbnailator 中做事的正确方式,我将不胜感激。干杯!
编辑:好吧,图像上传/下载过程中的某些东西使附加图像的工作正常!(下载的图像是 50K 而原始图像是 41K,所以很明显那里有一些奇怪的地方。)但我保证原始的 PNG 真的不起作用。
编辑 2:此Google 图片链接可用于下载页面右侧的 920x900 PNGWing 图片 (41K)。
解决方案
上述语法似乎对于将 PNG 转换为 JPG 是正确的。问题是当引用的图像被读入一个 BufferedImage 对象时,图像的类型是 BufferedImage.TYPE_BYTE_BINARY。虽然此类图像可以是 1、2 或 4 位图像,但 Thumbnailator 不能正确处理 2 位或 4 位图像,本质上假设图像是 1 位图像。
简而言之:语法是正确的,但似乎存在阻碍某些 PNG 文件成功处理的 Thumbnailator 错误。
推荐阅读
- python - 无法导入声音文件python
- javascript - Typescript Typings:要映射的 T 数组
- java - JavaFX:如何禁用 TextArea 的多行选项
- css - css动画执行顺序
- asp.net-web-api - 令牌认证和 SSL
- apache-spark - 在具有序列化问题的数据帧上调用 UDF
- python - tensorflow cuDNN 兼容性
- docker - Kubectl:在 travis ci 上找不到命令
- kubernetes - 重新启动在 Kubernetes 节点内运行的服务器
- stripe-payments - 付款异步时如何防止购物车更改