当前位置:首页 » 《我的小黑屋》 » 正文

Java将JPG/PNG图片转换为WEBP格式,以及WEBP转换成JPG/PNG格式

25 人参与  2024年04月24日 10:21  分类 : 《我的小黑屋》  评论

点击全文阅读


越来越多的网站采用了webp格式的图片,webp占用空间小,传送更快,画质不降低。经常会遇到图片格式转换的需求,我们可以借助第三方的包,通过Java实现来PG/PNG图片转换为WEBP格式,以及WEBP转换成JPG/PNG格式。

1.maven项目依赖

在pom.xml加入下面的内容

<!-- webp-imageio 依赖 --><dependency>    <groupId>org.sejda.imageio</groupId>    <artifactId>webp-imageio</artifactId>    <version>0.1.6</version></dependency>

2.代码分享

package com.zx.tool.image.webp;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import javax.imageio.IIOImage;import javax.imageio.ImageIO;import javax.imageio.ImageReader;import javax.imageio.ImageWriter;import javax.imageio.stream.FileImageInputStream;import javax.imageio.stream.FileImageOutputStream;import com.luciad.imageio.webp.WebPReadParam;import com.luciad.imageio.webp.WebPWriteParam;public class Webp2Jpeg {public static void main(String[] args) {String oldfile = "D:\\手机遥遥领先.webp";String newfile = "D:\\十项黑科技.jpg";webp2jpg(oldfile,newfile);}/** * webp格式图片转成JPG格式 * @param oldfilec:/1.test.webp * @param newfilec:/1.test.jpg * @return */public static void webp2jpg(String oldfile, String newfile){        // 创建WebP ImageReader实例        ImageReader reader = ImageIO.getImageReadersByMIMEType("image/webp").next();        // 配置解码参数        WebPReadParam readParam = new WebPReadParam();        readParam.setBypassFiltering(true);        // 在ImageReader设置读取的原文件        try {reader.setInput(new FileImageInputStream(new File(oldfile)));// 解码图像        BufferedImage image = reader.read(0, readParam);        // 设置输入文件的格式和文件名        ImageIO.write(image, "jpg", new File(newfile)); // 这里也可以使用其他图片格式,但是格式和文件名后缀要保持一致        System.out.println("webp文件转成png格式成功");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}    }/** * JPG格式图片转成webp格式(也可以是其他格式图片) * @param oldfilec:/1.test.jpg * @param newfilec:/1.test.webp * @return */public static void jpg2webp(String oldfile, String newfile){              try {        // 获取原始文件的编码            BufferedImage image = ImageIO.read(new File(oldfile));            // 创建WebP ImageWriter实例            ImageWriter writer = ImageIO.getImageWritersByMIMEType("image/webp").next();        // 配置编码参数        WebPWriteParam writeParam = new WebPWriteParam(writer.getLocale());        // 设置压缩模式        writeParam.setCompressionMode(WebPWriteParam.MODE_DEFAULT);        // 配置ImageWriter输出        writer.setOutput(new FileImageOutputStream(new File(newfile)));        // 进行编码,重新生成新图片        writer.write(null, new IIOImage(image, null, null), writeParam);        System.out.println("jpg文件转成webp格式成功");        } catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}    }}


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/99417.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 为了给我妈鸣冤,我在我爸六十大寿上毒翻全场(苏恒苏洛),为了给我妈鸣冤,我在我爸六十大寿上毒翻全场
  • 完结文老婆把女儿送给师弟练手后,后悔疯了列表_完结文老婆把女儿送给师弟练手后,后悔疯了(沈安姜向玉)
  • 白月光守寡后,夫君要纳她为妾留青赵恒完本_白月光守寡后,夫君要纳她为妾(留青赵恒)
  • 全书浏览妻子叫我转八十万给实习生(顾祁秦冉)_妻子叫我转八十万给实习生(顾祁秦冉)全书结局
  • 全文男友拿我的生活费给我开亲密付(夏染陈政)列表_全文男友拿我的生活费给我开亲密付
  • 大数据助力,我把妈妈告上法庭欣欣妈妈完本_大数据助力,我把妈妈告上法庭(欣欣妈妈)
  • 年薪百万后,我主动要求给穷光蛋生儿子(李明李小花)全书浏览_年薪百万后,我主动要求给穷光蛋生儿子全书浏览
  • 全书浏览年薪百万后,我主动要求给穷光蛋生儿子(李明李小花)_年薪百万后,我主动要求给穷光蛋生儿子(李明李小花)全书结局
  • 此生明月不照君全书萧景珩陆云峥林婉柔在线
  • 完结文老公说要和月嫂同住,我前男友打爆他的头列表_完结文老公说要和月嫂同住,我前男友打爆他的头(白薇沈皓)
  • 药店让我给老公的第二春赵毅完本_药店让我给老公的第二春(赵毅)
  • 地球停服后我在云端求生(庄语心贝克)_地球停服后我在云端求生庄语心贝克

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1