背景:使用Thumbnails工具处理webp的图片报错,意思是
错误代码表示没有找到适合处理指定的图片文件"/Users/xxxx/Downloads/ysdq/formatImage/xxx.webp"的ImageReader。你的程序试图读取一个webp格式的图片,但是Java的ImageIO API并不原生支持这种格式。
解决办法:引入支持处理webp类型的图片即可
pom依赖
<dependency>
<groupId>com.github.gotson</groupId>
<artifactId>webp-imageio</artifactId>
<version>0.2.2</version>
</dependency>
处理:
貌似引入依赖就直接支持了
File file = new File("/Users/xxx/Downloads/ysdq/formatImage/xxxx.webp");
File file1 = new File("/Users/liuyuanyuan/Downloads/ysdq/resultImage/xxxx.webp");
Thumbnails.of(file)
.size(300,300)
.toFile(file1);
原因分析:这个是Java SPI机制,当应用程序在运行时使用 javax.imageio.ImageIO 类加载图像时,Java SPI机制会自动发现并加载 webp-imageio 库中的 WebpImageReaderSpi 类,使得应用程序能够读取和处理WebP格式的图像。