直接上工具
需要的相关依赖:
<!--webp 转jpeg 依赖--> <dependency> <groupId>org.sejda.imageio</groupId> <artifactId>webp-imageio</artifactId> <version>0.1.6</version> </dependency>
代码展示:
import com.luciad.imageio.webp.WebPImageReaderSpi;
import com.luciad.imageio.webp.WebPImageWriterSpi;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.ImageWriter;
import javax.imageio.spi.IIORegistry;
import javax.imageio.stream.ImageInputStream;
import javax.imageio.stream.ImageOutputStream;
/**
* <p>
* webg图片转换为jpg
* </p>
*
* @author 沙龙果
* @Filename JpegWebgClass
* @since 2024/1/4
*/
public class JpegWebgClass {
public static void main(String[] args) {
// 注册WebP ImageIO插件
IIORegistry registry = IIORegistry.getDefaultInstance();
registry.registerServiceProvider(new WebPImageReaderSpi());
registry.registerServiceProvider(new WebPImageWriterSpi());
List<String> webpList = new ArrayList<>();
webpList.add("C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\upload\\2.webp");
webpList.add("C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\upload\\3.webp");
webpList.add("C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\upload\\4.webp");
int i = 1;
for (String webp : webpList) {
try {
// 读取WebP格式图片
File input = new File(webp);
ImageInputStream inputStream = ImageIO.createImageInputStream(input);
ImageReader reader = ImageIO.getImageReadersByMIMEType("image/webp").next();
reader.setInput(inputStream);
BufferedImage image = reader.read(0);
// 将图片转换为JPG格式
String m = "C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\jpeg\\";
String jpeg = "webp" + (i++) + ".jpeg";
File output = new File(m + jpeg);
ImageOutputStream outputStream = ImageIO.createImageOutputStream(output);
ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next();
writer.setOutput(outputStream);
writer.write(image);
// 关闭IO流
inputStream.close();
outputStream.close();
reader.dispose();
writer.dispose();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}