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 可在開放許可證下使用。
主要特性與優點- 輕鬆轉換:只需幾行程式碼即可將 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 資料的整數陣列
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"));
}
將 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 檔案並儲存。以下是步驟的詳細說明:
- 使用
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 文件轉換為網頁格式、將 iPhone 照片備份到 PC,還是將它們分享到不同平台,Openize.HEIC 都能簡化過程,確保在每一步都達到最佳的效率和質量。
探索我們的 GitHub 儲存庫,參與貢獻、提出改進建議,並幫助增強這個開源 API:Openize.HEIC for Java