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

总结

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

相关文章

  • 使用SpringBoot+Prometheus+Grafana实现可视化监控

    使用SpringBoot+Prometheus+Grafana实现可视化监控

    本文主要给大家介绍了如何使用Spring actuator+监控组件prometheus+数据可视化组件grafana来实现对Spring Boot应用的可视化监控,文中有详细的代码供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2024-02-02
  • java实现页面多查询条件必选的统一处理思路

    java实现页面多查询条件必选的统一处理思路

    这篇文章主要为大家介绍了java实现页面多查询条件必选的统一处理思路详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • java代码关闭tomcat程序及出现问题解析

    java代码关闭tomcat程序及出现问题解析

    这篇文章主要介绍了java代码关闭tomcat程序 及出现问题解析,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2019-05-05
  • SpringBoot实现根据手机号获取归属地

    SpringBoot实现根据手机号获取归属地

    这篇文章主要为大家详细介绍了SpringBoot如何实现根据手机号获取归属地,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • SpringBoot 整合 ShardingSphere4.1.1实现分库分表功能

    SpringBoot 整合 ShardingSphere4.1.1实现分库分表功能

    ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成,本文给大家介绍SpringBoot 整合 ShardingSphere4.1.1实现分库分表,感兴趣的朋友一起看看吧
    2023-12-12
  • Redisson之分布式锁原理全面分析

    Redisson之分布式锁原理全面分析

    这篇文章主要介绍了Redisson分布式锁原理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • java实现求只出现一次的数字

    java实现求只出现一次的数字

    本文主要介绍了java实现求只出现一次的数字,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • JAVA基础之继承(inheritance)详解

    JAVA基础之继承(inheritance)详解

    继承(inheritance)是Java OOP中一个非常重要的概念。这篇文章主要介绍了JAVA基础之继承(inheritance),需要的朋友可以参考下
    2017-03-03
  • Java数据结构与算法之单链表深入理解

    Java数据结构与算法之单链表深入理解

    这篇文章主要介绍了Java数据结构与算法之单链表深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Java高效映射工具MapStruct的使用示例

    Java高效映射工具MapStruct的使用示例

    MapStruct 是一个 Java 注解处理器,用于在不同 Java Beans 或数据传输对象(DTOs)之间自动生成类型安全的映射代码,这是一个编译时映射框架,意味着它利用注解在编译时生成代码,本文将给大家介绍一下Java注解处理器MapStruct的使用示例,需要的朋友可以参考下
    2023-12-12

最新评论