JAVA如何处理HEIF类型的图片?

如题,最近需要对heif图片进行处理,转换成其他图片格式,请问哪位大佬可以给我一个解决方案,谢谢。

后来解决了吗?


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

public class HEIFToPNG {
    public static void main(String[] args) {
        File inputFile = new File("input.heif");
        File outputFile = new File("output.png");

        try {
            BufferedImage image = ImageIO.read(inputFile);
            ImageIO.write(image, "png", outputFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上代码使用了 Java 标准库中的 ImageIO 类来读取和写入图片。在代码中,我们先创建了一个输入文件 inputFile 和一个输出文件 outputFile。然后使用 ImageIO.read() 方法读取输入文件中的 HEIF 图片,并将读取到的 BufferedImage 对象写入到输出文件中,使用 ImageIO.write() 方法,并指定输出格式为 "png"。

以下是 Maven 依赖,您可以将其添加到您的项目 pom.xml 文件中:


<dependency>
    <groupId>com.twelvemonkeys.imageio</groupId>
    <artifactId>imageio-heif</artifactId>
    <version>3.7.1</version>
</dependency>

注意:使用该依赖需要先安装 libde265。如果您使用的是 macOS 操作系统,则可以通过 Homebrew 安装,如下所示:

$ brew install x265
$ brew install x265 --build-from-source