使用thumbnailator进行tif文件格式装换时报异常:
2022-11-27 13:57:03.557 ERROR [main] c.k.s.u.TifUtils :39 - No suitable ImageReader found for D:\other\cjsj\YX_324528742375\2022-07-05 15-481657007312538\file\satelliteImage.tif.
net.coobird.thumbnailator.tasks.UnsupportedFormatException: No suitable ImageReader found for D:\other\cjsj\YX_324528742375\2022-07-05 15-481657007312538\file\satelliteImage.tif.
at net.coobird.thumbnailator.tasks.io.FileImageSource.read(Unknown Source)
at net.coobird.thumbnailator.tasks.SourceSinkThumbnailTask.read(Unknown Source)
at net.coobird.thumbnailator.Thumbnailator.createThumbnail(Unknown Source)
at net.coobird.thumbnailator.Thumbnails$Builder.toFile(Unknown Source)
at com.ktkj.system.utils.TifUtils.tifToJpg(TifUtils.java:36)
at com.ktkj.system.utils.TifUtils.main(TifUtils.java:67)
2022-11-27 13:57:03.557 INFO [main] c.k.s.u.TifUtils :41 - D:\other\cjsj\YX_324528742375\2022-07-05 15-481657007312538\file\dew.png转换jpg 结束 ---------
业务代码:
/**
* tiff 转 图片
* @param tiffPath tiff 路径
* @param jpgPath 图片路径
*/
public static void tifToJpg(String tiffPath, String jpgPath){
File file = new File(tiffPath);
if (!file.exists() || !file.isFile()) {
logger.info(tiffPath + "未找到文件或文件夹");
return;
}
logger.info(tiffPath + "开始转换 jpg ---------");
try {
Thumbnails.of(tiffPath).scale(0.5f).outputQuality(0.8f).toFile(jpgPath);
logger.info("{} 转换 ————> {} 完成", tiffPath, jpgPath);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
logger.info(jpgPath + "转换jpg 结束 ---------");
}
解决方式:
添加如下依赖:
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.7.0</version>
</dependency>
具体原因没有细究,因为我是菜鸟,还请大神指点一二。