0
点赞
收藏
分享

微信扫一扫

Java 把iPhone的照片heic格式转换成png

小迁不秃头 2023-12-02 阅读 47

要将HEIC格式转换为PNG,你可以使用开源库metadata-extractor和twelvemonkeys。首先,你需要将这些库添加到你的项目中。你可以使用Maven或Gradle来添加这些依赖项。  如果你使用Maven,你可以在你的pom.xml文件中添加以下依赖项:

<dependencies>
    <dependency>
        <groupId>com.drew</groupId>
        <artifactId>metadata-extractor</artifactId>
        <version>2.15.0</version>
    </dependency>
    <dependency>
        <groupId>com.twelvemonkeys.imageio</groupId>
        <artifactId>imageio-heif</artifactId>
        <version>3.7.0</version>
    </dependency>
</dependencies>

然后,你可以使用以下Java代码来将HEIC文件转换为PNG:

import com.drew.imaging.ImageProcessingException;

import com.drew.imaging.heif.HeifReader;

import com.drew.imaging.heif.HeifReaderException;

import com.drew.lang.annotations.NotNull;

import com.drew.metadata.Metadata;

import com.drew.metadata.heif.HeifDirectory;


import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;


public class HeicToPngConverter {


    public static void main(String[] args) throws IOException, HeifReaderException, ImageProcessingException {

        File heicFile = new File("path_to_your_heic_file");

        File pngFile = new File("path_to_your_png_file");


        HeifReader reader = new HeifReader();

        reader.extractMetadata(heicFile, new HeifReader.ReaderHandler() {

            @Override

            public void handle(int i, @NotNull HeifDirectory heifDirectory, @NotNull InputStream inputStream) {

                try {

                    BufferedImage bufferedImage = ImageIO.read(inputStream);

                    ImageIO.write(bufferedImage, "png", pngFile);

                } catch (IOException e) {

                    e.printStackTrace();

                }

            }


            @Override

            public void handle(int i, @NotNull Metadata metadata) {

                // Do nothing

            }

        });

    }

}

请将"path_to_your_heic_file"和"path_to_your_png_file"替换为你的HEIC文件和PNG文件的实际路径。 

举报

相关推荐

0 条评论