Openize.HEIC for Java
使用 Java API 简化 HEIC 图像的读取和转换过程
轻松使用 Openize.HEIC 编辑图像,这是一款轻量级的开源 Java API,简化 HEIC 文件的转换和自动化
Openize.HEIC for Java 彻底改变您的 HEIC 图像处理体验。在本综合指南中,我们深入探讨了利用 Openize.HEIC(一种轻量级开源 Java API)轻松处理 HEIC 文件的功能和优势。
HEIC 是采用 HEVC(高效视频编码)编码图像的高效图像文件格式的缩写,是一种现代图像格式,旨在取代 JPEG 作为 iOS 设备上的默认图像格式。虽然 HEIC 提供卓越的图像质量和压缩能力,但其跨平台兼容性仍然是一个挑战。许多应用程序和平台缺乏对 HEIC 的本机支持,因此在不进行转换的情况下很难查看或编辑这些文件。
Openize.HEIC 是一个强大的解决方案,可将 HEIC 文件无缝转换为各种格式,包括 JPG、PNG、PDF 等。这种轻量级开源 Java API 简化了 HEIC 图像操作,为开发人员和用户提供了一个用户友好的界面来轻松处理 HEIC 文件。
Openize.HEIC 可在开放许可证下使用。< /p>
主要特性和优点- 轻松转换:只需几行代码即可将 HEIC 文件转换为 JPG 和 PNG 等流行格式。
- HEVC 解码器集成:利用内置 HEVC 解码器解码 HEIC 文件,确保转换准确可靠。
- 广泛的格式支持:将 HEIC 文件转换为多种格式,包括 PDF 和 WEBP,从而实现跨不同平台和应用程序的多种用途。
- 开源且免费:享受开源解决方案的优势,无需支付许可费用,所有级别的开发者和用户都可以使用它。
- 与 Java 应用程序无缝集成:轻松将 Openize.HEIC 集成到您的 Java 应用程序中,从而在现有工作流程中实现无缝 HEIC 文件处理。
- 轻松转换:只需几行代码即可将 HEIC 文件转换为 JPG 和 PNG 等流行格式。
- HEVC 解码器集成:利用内置 HEVC 解码器解码 HEIC 文件,确保转换准确可靠。
- 广泛的格式支持:将 HEIC 文件转换为多种格式,包括 PDF 和 WEBP,从而实现跨不同平台和应用程序的多种用途。
- 开源且免费:享受开源解决方案的优势,无需支付许可费用,所有级别的开发者和用户都可以使用它。
- 与 Java 应用程序无缝集成:轻松将 Openize.HEIC 集成到您的 Java 应用程序中,从而在现有工作流程中实现无缝 HEIC 文件处理。
如何开始使用 Openize.HEIC for Java
开始使用 Openize.HEIC 非常简单,只需按照以下步骤操作:
- 安装 Openize.HEIC:通过 Maven/Gradle 安装 Openize.HEIC 包。
- 与您的项目集成:在 Java 项目中引用 Openize.HEIC 库。
- 开始转换:利用 Openize.HEIC 提供的简单 API 将 HEIC 文件转换为所需格式。
推荐使用 Maven 或 Gradle 安装 Openize.HEIC for Java。请使用以下命令以顺利完成安装。
通过 Maven 安装 Openize.HEIC for Java
首先,您需要在 Maven 的 pom.xml 中指定 Aspose Maven 仓库的配置/位置,如下所示:
<repositories>
<repository>
<id>AsposeJavaRepo</id>
<name>Aspose Java Repository</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
然后在您的 pom.xml 中定义依赖,如下所示
<dependencies>
<dependency>
<groupId>openize</groupId>
<artifactId>openize-heic</artifactId>
<version>25.4</version>
</dependency>
<dependency>
<groupId>openize</groupId>
<artifactId>openize-heic</artifactId>
<version>25.4</version>
<classifier>javadoc</classifier>
</dependency>
</dependencies>
您也可以直接从 GitHub 下载。在 Java 中将 HEIC 文件读取到数组
此代码片段有效地加载 HEIC 图像文件,提取其像素数据并以指定格式存储到数组中,以便后续操作。
- 使用
IOFileStream
打开名为 "filename.heic" 的 HEIC 文件。 - 从文件流加载 HEIC 图像到
HeicImage
对象中。 - 提取 HEIC 图像的像素数据,格式为 ARGB32,并将其存储到整数数组中。
将以下代码片段复制并粘贴到您的主文件中,然后执行该程序。
将 .heic 文件读取到带有 Argb32 数据的 int 数组
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
HeicImage image = HeicImage.load(fs);
int[] pixels = image.getInt32Array(openize.heic.decoder.PixelFormat.Argb32);
}
在 Java 中将 HEIC 文件读取到 BufferedImage 并使用 Java ImageIO 保存为 JPEG
以下代码演示了如何读取现有的 HEIC 图像文件,提取其像素数据,并创建一个 BufferedImage 对象以便进一步处理并保存为 JPEG:
- 使用
IOFileStream
打开名为 "filename.heic" 的 HEIC 文件。 - 将 HEIC 图像从文件流加载到
HeicImage
对象中。 - 提取 HEIC 图像中的像素数据,格式为 ARGB32,并将其存储到数组中。
- 获取 HEIC 图像的宽度和高度。
- 使用指定的宽度、高度和像素格式创建
BufferedImage
对象。 - 将提取的像素数据写入
BufferedImage
对象。 - 将
BufferedImage
对象保存为 JPEG 文件。
将以下代码片段复制并粘贴到您的主文件中,然后执行该程序。
将 .heic 文件读取到 BufferedImage
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
HeicImage image = HeicImage.load(fs);
int[] pixels = frames.get(key).getInt32Array(PixelFormat.Argb32);
var width = (int)image.Width;
var height = (int)image.Height;
BufferedImage image2 = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
image2.setRGB(0, 0, width, height, pixels, 0, width);
ImageIO.write(image2, "JPEG", new File("output.jpg"));
}
在 Java 中将 HEIC 文件读取到 BufferedImage 并使用 Java ImageIO 保存为 PNG
以下代码演示了如何读取现有的 HEIC 图像文件,提取其像素数据,并创建一个 BufferedImage 对象以便进一步处理并保存为 PNG:
- 使用
IOFileStream
打开名为 "filename.heic" 的 HEIC 文件。 - 将 HEIC 图像从文件流加载到
HeicImage
对象中。 - 提取 HEIC 图像中的像素数据,格式为 ARGB32,并将其存储到数组中。
- 获取 HEIC 图像的宽度和高度。
- 使用指定的宽度、高度和像素格式创建
BufferedImage
对象。 - 将提取的像素数据写入
BufferedImage
对象。 - 将
BufferedImage
对象保存为 PNG 文件。
将以下代码片段复制并粘贴到您的主文件中,然后执行该程序。
将 .heic 文件读取到 BufferedImage
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
HeicImage image = HeicImage.load(fs);
int[] pixels = frames.get(key).getInt32Array(PixelFormat.Argb32);
var width = (int)image.Width;
var height = (int)image.Height;
BufferedImage image2 = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
image2.setRGB(0, 0, width, height, pixels, 0, width);
ImageIO.write(image2, "PNG", new File("output.png"));
}
在 Java 中以编程方式将 HEIC 集合转换为一组 PNG 文件
以下代码演示了如何以编程方式加载 HEIC 集合图像文件,将其转换为一组 PNG 文件,并使用 Java 保存。以下是步骤的详细说明:
- 使用
FileStream
以读取模式打开名为 "filename.heic" 的 HEIC 文件。 - 将 HEIC 图像从文件流加载到
HeicImage
对象中。 - 对于图像的每一帧,执行以下操作:
- 获取 HEIC 帧的宽度和高度。
- 提取 HEIC 帧中的像素数据,格式为 ARGB32,并将其存储在一个整数数组中。
- 使用指定的宽度、高度、DPI 和像素格式创建一个
BufferedImage
对象。 - 将提取的像素数据写入
BufferedImage
对象。 - 将
BufferedImage
对象保存为 "output.png" 文件。
将以下代码片段复制并粘贴到您的主文件中,然后执行该程序。
将 .heic 集合转换为一组 .png 文件
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
HeicImage image = HeicImage.load(fs);
final Map frames = image.getFrames();
for (Long key : frames.keySet())
{
int width = (int)frames.get(key).getWidth();
int height = (int)frames.get(key).getHeight();
int[] pixels = frames.get(key).getInt32Array(PixelFormat.Argb32);
BufferedImage image2 = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
image2.setRGB(0, 0, width, height, pixels, 0, width);
ImageIO.write(image2, "PNG", new File("output"+key+".png"));
}
}
Openize.HEIC 提供直观的 API、全面的格式支持,并与 Java 应用程序无缝集成,使开发人员和用户能够轻松管理 HEIC 文件。无论您是将 HEIC 文件转换为 Web 使用、将 iPhone 照片归档到 PC,还是在不同平台之间共享,Openize.HEIC 都能简化流程,确保每个步骤的高效性和质量。
探索我们的 GitHub 仓库,贡献代码、建议改进并增强这个开源 API: Openize.HEIC for Java