java实现将Webp转为jpg格式方式

 更新时间:2024年07月05日 09:42:56   作者:墨笔之风  
这篇文章主要介绍了java实现将Webp转为jpg格式方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java实现Webp转为jpg格式

直接上工具

需要的相关依赖:<!--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();
            }
        }
    }
}

如何将webp转成jpg(代码,在线工具)

越来越多的网站开始采用WebP作为网站图片展示格式,例如百度,几乎全部都采用了WebP进行图片展示,用来提高网站的图片加载速度和用户体验。但是WebP在分享和预览上存在很多问题,目前并没有被广泛接受。那么如何将WebP快速转换成标准的JPG格式了。可以用以下的方式。

1. Windows平台

>>>> from PIL import Image
>>>> im = Image.open("text.webp").convert("RGB")
>>>> im.save("test.jpg", "jpeg")

这是通过Python将WebP转换成jpeg

2. Mac平台

安装imagemagick,通过imagemagick的terminal命令行将webp转换成jpg

>>> brew install imagemagick
>>> magick input.webp output.jpg

3. 在线工具

使用AnyWebP免上传转换webp为JPG,百分百免费。

网址:WebP to jpg

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring框架中部署log4j.xml的详细步骤

    Spring框架中部署log4j.xml的详细步骤

    Log4j是一个常用的日志记录工具,它可以帮助我们记录应用程序的运行日志并进行灵活的配置,在Spring框架中,我们可以很方便地部署log4j.xml配置文件来管理日志记录,这篇文章主要介绍了Spring框架中部署log4j.xml的详细步骤并提供相应的代码示例,需要的朋友可以参考下
    2023-09-09
  • springboot项目部署到k8s上的方法步骤

    springboot项目部署到k8s上的方法步骤

    本文主要介绍了springboot项目部署到k8s上的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 关于Java中修饰符的总结(fina除外)

    关于Java中修饰符的总结(fina除外)

    下面小编就为大家带来一篇关于Java中修饰符的总结(fina除外)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Java 获取上一个月的月份的正确写法

    Java 获取上一个月的月份的正确写法

    这篇文章主要介绍了java获取上一个月月份,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 详解SpringBoot实现JPA的save方法不更新null属性

    详解SpringBoot实现JPA的save方法不更新null属性

    直接调用原生Save方法会导致null属性覆盖到数据库,使用起来十分不方便。本文详细的介绍了如何解决这个问题,非常具有实用价值,需要的朋友可以参考下
    2018-12-12
  • 微服务分布式架构实现日志链路跟踪的方法

    微服务分布式架构实现日志链路跟踪的方法

    在现有的系统中,由于大量的其他用户/其他线程的日志也一起输出穿行其中导致很难筛选出指定请求的全部相关日志。那我们如何来处理呢?带着这个问题一起通过本文学习下吧
    2021-08-08
  • Java高并发编程之CAS实现无锁队列代码实例

    Java高并发编程之CAS实现无锁队列代码实例

    这篇文章主要介绍了Java高并发编程之CAS实现无锁队列代码实例,在多线程操作中,我们通常会添加锁来保证线程的安全,那么这样势必会影响程序的性能,那么为了解决这一问题,于是就有了在无锁操作的情况下依然能够保证线程的安全,需要的朋友可以参考下
    2023-12-12
  • java中String,数组,ArrayList三者之间的转换

    java中String,数组,ArrayList三者之间的转换

    这篇文章主要介绍了java中String,数组,ArrayList三者之间的转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java实现实时监控目录下文件变化的方法

    Java实现实时监控目录下文件变化的方法

    今天小编就为大家分享一篇关于Java实现实时监控目录下文件变化的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 学习Java的static与final关键字

    学习Java的static与final关键字

    本篇文章给大家详细分析了Java的static与final关键字知识点以及相关代码分享,有需要的读者跟着学习下吧。
    2018-03-03

最新评论