1 场景
项目中,除去评论带图片功能等,涉及到图片相关的业务,往往会用到读取图片功能。
例如根据文字生成图片、生成预览图等等功能。
2 读取图片用到的方法
//javax.imageio.ImageIO;
ImageIO.read(URL url);
ImageIO是javax目录下的,显然是Java自己提供的,支持的类型有限。
3 如何查看ImageIO支持的读取图片格式?
System.out.println(Arrays.toString(ImageIO.getReaderFileSuffixes()));
//支持的文件类型:jpg, bmp, gif, png, wbmp, jpeg
4 解决方案
4.1 引入maven依赖
官网地址:https://github.com/haraldk/TwelveMonkeys
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.9.4</version>
</dependency>
4.2 支持的类型
所支持的类型涵盖了主流平台的所有图片格式,一般情况下够用。
这个依赖也有正常更新。笔者之前做项目时,用的是3.3.2版本,现在官网最新的版本已经是3.9.4,所以推荐这个依赖。
官网地址:https://github.com/haraldk/TwelveMonkeys#file-formats-supported
从左到右,每一列的意思分别是插件、格式、描述、支持读、支持写、元数据、备注。
上面加粗的列是主要内容。
第一列是插件,有些插件显示的是蓝色,点进去则是对应的插件链接。
第二列是支持的文件格式,比Java内置的要多一些。
第三列是格式对应的描述,比如微软的XX格式,苹果的XX格式等。
第四、五列就放在一起说。支持读的不一定支持写。
4.3 使用方式
和之前的使用一样。是的,不需要改配置文件,也不用改使用方法。