首先需要依赖:
<!--jai-->
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_codec</artifactId>
<version>1.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.media/jai_core -->
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
<version>1.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.media/mlibwrapper_jai -->
<dependency>
<groupId>javax.media</groupId>
<artifactId>mlibwrapper_jai</artifactId>
<version>1.1.3</version>
</dependency>
若mlibwrapper_jai下载不下来,可以在这里里面下
https://maven.gentics.com/maven2/mlibwrapper/mlibwrapper_jai/1.1.3/
将pom.xml和jar都下下来放进本地的仓库即可。
转换的代码
SeekableStream seekableStream =new FileSeekableStream("文件路径");
ParameterBlock pb =new ParameterBlock();
pb.add(seekableStream);
BufferedImage image = JAI.create("jpeg",pb).getAsBufferedImage();
// File outputfile = new File();
// 处理 图片 统一转为正式的 jpg格式图片 避免图片真实格式为 jfif 而文件后缀却被改为了 jpg 的情况
String convertimagePath = "文件路径".substring(0, imagePath.lastIndexOf("/")) + "/" + "convert2jpg" + imgFile.getName();
File outputfile = new File(convertimagePath);
ImageIO.write(image, "jpeg", outputfile);