五笔字根表 键盘-如何关闭软驱

thumbnails
2023年4月3日发(作者:闪动图片制作)

Thumbnailator处理图⽚踩坑NosuitableImageReaderfound。

。。

Thumbnailator是⼀个优秀的图⽚处理的Google开源Java类库。处理效果远⽐JavaAPI的好。但是在使⽤⼀个如此容易上⼿的⼯具库

的过程中,也会踩中意向不到的坑。以下分享耗我半天时间才跳出来的坑。

我的设备是MacBookPro,能出现这种情况可能也跟我所使⽤的设备有关。

⾸先我要找个图⽚作为测试⽤途,那我⽤哪⾥的图⽚呢?我选择了当时最为顺⼿的从Macbook的备忘录⾥边拷贝⼀张图⽚以作使⽤,将该

图⽚粘贴在⼀⽂件夹中。当我粘贴到⽂件夹中的时候是这样的

我尝试将后缀改成普通图⽚格式.jpg

发现图⽚依然神奇得能正常显⽰并且正常打开。好了,这时候也没有过多的考虑,接下来就来编写java代码。

以下是我代码⽚段,参照其他博主的帖⼦,Thumbnailator的使⽤只需要以下简单的代码:

publicstaticvoidmain(String[]args){

Stringpath="/图⽚存放路径/";//定义图⽚输出路径

Stringopath="/图⽚存放路径/pic_";//定于图⽚输出路径

try{//要求使⽤错误捕捉机制

//将path的图⽚等⽐例缩放到最⼤宽900或⾼900,输出到opath

(path).size(900,900).toFile(opath);

}catch(Exceptione){

tackTrace();

}

}

但是运⾏之后出现了报错,NosuitableImageReaderfoundfor/图⽚存放路径/.

2021-**-**09:19:29,627[main](:14)-

ortedFormatException:NosuitableImageReaderfoundfor/图⽚存放路径/.

(UnknownSource)

(UnknownSource)

Thumbnail(UnknownSource)

ails$(UnknownSource)

(:14)

翻译过来中⽂就是“找不到适⽤于的图⽚阅读器”,也就是说Thumbnailator找到了这个⽂件,但是并不能读取到图⽚。此时,回想到在

学习编写该代码的过程中,也看见过其他博主的⽂章中有使⽤InputStream输⼊流输⼊到Thumbnailator中,会不会是我的输⼊⽅式的

问题呢?好吧我再试试:

publicstaticvoidmain(String[]args){

Stringpath="/图⽚存放路径/";//定义图⽚输出路径

Stringopath="/图⽚存放路径/pic_";//定于图⽚输出路径

try{//要求使⽤错误捕捉机制

//使⽤⽂件输⼊流FileInputStream读取图⽚

FileInputStreamfileInputStream=newFileInputStream(path);

//将fileInputStream的图⽚等⽐例缩放到最⼤宽900或⾼900,输出到opath

(fileInputStream).size(900,900).toFile(opath);

}catch(Exceptione){

tackTrace();

}

}

此时,报错的内容稍微有所变动,变成了NosuitableImageReaderfoundforsourcedata.

ortedFormatException:NosuitableImageReaderfoundforsourcedata.

(UnknownSource)

(UnknownSource)

Thumbnail(UnknownSource)

ails$(UnknownSource)

(:14)

然后就这个问题,翻完了当时为数不多关于这两个报错的技术博客,都还是找不到答案。再当我将⼀切东西重新开始,图⽚使⽤微信新发过

来的其他图⽚,问题就解决了。

总结

该报错主要跟图⽚的格式有关。图⽚的格式并不单纯指的是⽂件的后缀,⽽是图⽚实际上的组织格式。Thumbnailator能够正常处理jpg、

jpeg、png等常⽤格式的图⽚。

在MacBook中,备忘录将图⽚的格式都转化为了.tiff格式,此时可能是⼀种经过备忘录转化过的图⽚格式,具体这种格式是什么可以⾃

⾏跳转到看看。此时的.tiff强⾏改后缀变成.jpg后,Thumbnailator⾥没有.tiff的阅读器,固出现这样的报错。

在之后的使⽤发现,没有必要使⽤输⼊流的格式输⼊图⽚,此时更容易产⽣NosuitableImageReaderfoundforsourcedata报错。在

输⼊时直接指向图⽚路径即可。

更多推荐

thumbnails