You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java实现WebP图片转PNG格式的转换器

Java实现WebP转PNG的解决方法

问题原因

Java原生ImageIO默认没有内置WebP格式的编解码器,因此读取WebP文件时会返回null,无法执行后续的转写操作。

可直接兼容原有代码的解决方案

引入ImageIO的第三方WebP扩展插件即可,无需大幅修改原有逻辑,推荐使用TwelveMonkeys的WebP支持模块:

1. 添加项目依赖

如果使用Maven管理项目,在pom.xml中添加如下依赖:

<dependency>
    <groupId>com.twelvemonkeys.imageio</groupId>
    <artifactId>imageio-webp</artifactId>
    <version>3.10.1</version>
</dependency>

如果使用Gradle管理项目,在build.gradle的dependencies块中添加:

implementation 'com.twelvemonkeys.imageio:imageio-webp:3.10.1'

如果是无构建工具的普通项目,直接下载对应jar包导入项目依赖即可。

2. 修正并使用原有代码

注意Java字符串中的反斜杠需要转义,修改后的完整代码如下:

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class WebpToPngConverter {
    public static void main(String[] args) throws IOException {
        // 路径中的反斜杠需要转义,也可以替换为正斜杠避免转义问题
        String path = "C:\\Users\\matti\\Desktop\\eru webp\\01_(1).webp";
        File input = new File(path);
        BufferedImage imagewebp = ImageIO.read(input); 
        ImageIO.write(imagewebp, "png", new File("output.png"));
    }
}

注意事项

  • 插件会通过SPI机制自动被ImageIO识别,不需要手动注册编解码器
  • 支持有损、无损、带透明通道的所有常见WebP格式,无需额外适配

内容的提问来源于stack exchange,提问作者LAC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:30:05