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();
            }
        }
    }
}

在PHP中,我们可以使用GD库来将WebP格式的图片换成JPG格式的图片。GD库是一个流行的图形库,可以在PHP中创建、操作和保存图像。 首先,我们需要检查GD库是否已启用。可以通过PHP的`extension_loaded()`函数来检查。如果返回`false`,则需要在PHP配置文件中启用GD库。 一旦确保GD库已启用,我们可以使用GD库的函数来进行换。首先,我们需要使用`imagecreatefromwebp()`函数创建一个WebP格式的图像资源。此函数接受WebP图像的文件路径作为参数,并返回一个图像资源标识符。 接下来,我们可以使用`imagejpeg()`函数将图像资源保存为JPG格式的文件。该函数需要两个参数:图像资源标识符和保存文件的路径。您可以指定保存文件的路径以及JPG文件的质量。 下面是一个示例代码来演示如何将WebP格式换为JPG格式: ```php // 检查GD库是否已启用 if (!extension_loaded('gd')) { die('GD库未启用'); } // 创建WebP图像资源 $webpPath = 'path_to_webp_image.webp'; $webpImage = imagecreatefromwebp($webpPath); // 保存为JPG格式的文件 $jpgPath = 'path_to_save_jpg.jpg'; imagejpeg($webpImage, $jpgPath, 80); // 释放资源 imagedestroy($webpImage); echo 'WebP格式已成功换为JPG格式'; ``` 以上代码会将名为`path_to_webp_image.webp`的WebP图片换成JPG格式,并保存为名为`path_to_save_jpg.jpg`的文件。`imagejpeg()`函数的第三个参数80表示JPG文件的质量,可根据需求进行调整。 换完成后,您可以在指定的保存路径中找到换后的JPG格式图片。 请注意,使用GD库进行图像处理可能需要一定的运行内存和执行时间。确保您的PHP环境具备足够的内存和执行时间限制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨笔之风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值