在各種情況下,圖像被壓縮以減小其文件大小。為此,不同的在線或離線應用程序允許您應用圖像壓縮。但是,在某些情況下,您可能需要在 Web 或桌面應用程序中實現圖像壓縮功能。對於此類情況,本文介紹瞭如何使用 Java 以編程方式壓縮圖像,包括 PNG、JPEG 和 TIFF。
最佳 Java 圖像壓縮 API - 免費下載
Aspose.Imaging for Java 是一個強大的 API,允許您從 Java 應用程序中執行各種圖像處理操作。此外,它還可以讓您無縫壓縮 PNG、JPEG 和 TIFF 圖像。為了使用 API,您可以 下載 其 JAR 或將其安裝在基於 Maven 的應用程序中。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>20.12</version>
<classifier>jdk16</classifier>
</dependency>
在 Java 中壓縮 PNG 圖像
PNG 格式支持無損壓縮,這意味著壓縮 PNG 圖像會減小其文件大小,但不會降低質量。對於 PNG 圖像,Aspose.Imaging for Java 允許您設置從 0 到 9 的壓縮級別,其中 0 和 9 分別是最小和最大壓縮級別。以下是使用 Java 壓縮 PNG 圖像的步驟。
- 首先,使用 Image 類加載 PNG 圖像。
- 創建 PngOptions 類的實例。
- 使用 PngOptions.setCompressionLevel(int) 方法設置壓縮級別。
- 最後,使用 Image.save(String, PngOptions) 方法保存壓縮後的 PNG 圖像。
以下代碼示例顯示瞭如何使用 Java 壓縮 PNG 圖像。
// 從文件(或流)加載圖像
Image image = Image.load("aspose_logo.png");
// 遍歷可能的壓縮級別範圍
for (int i = 0; i <= 9; i++) {
// 為每個生成的 PNG 創建一個 PngOptions 實例
PngOptions options = new PngOptions();
// 設置壓縮級別
options.setCompressionLevel(i);
// 將結果保存在磁盤(或流)上
image.save("CompressingFiles_out" + i + ".png", options);
}
使用 Java 的 JPEG 圖像壓縮
對於JPEG圖像壓縮,Aspose.Imaging for Java提供了以下壓縮類型。
- 基線
- 進步
- 無損
- JpegLs
以下是使用 Java 將上述壓縮類型之一應用於 JPEG 圖像的步驟。
- 首先,使用 Image 類加載 JPEG 圖像。
- 創建 JpegOptions 類的實例。
- 使用 JpegOptions.setCompressionType(JpegCompressionMode) 方法設置壓縮級別。
- 最後,使用 Image.save(String, JpegOptions) 方法保存壓縮的 JPEG 圖像。
以下代碼示例顯示瞭如何使用 Java 壓縮 JPEG 圖像。
// 載入圖片
Image original = Image.load("Input.jpeg");
try
{
JpegOptions jpegOptions = new JpegOptions()
{{
// 應用壓縮
setCompressionType(JpegCompressionMode.Progressive);
}};
// 保存壓縮圖像
original.save("result.jpg", jpegOptions);
}
finally
{
original.dispose();
}
使用 Java 壓縮 TIFF 圖像
Aspose.Imaging for Java 提供了多種 TIFF 壓縮類型,包括 LZW、Packbits、CCIT Fax 3 & 4 等。因此,您可以選擇最適合您要求的壓縮類型。以下是使用 Java 執行 TIFF 壓縮的步驟。
- 首先,使用 Image 類加載 TIFF 圖像。
- 創建 TiffOptions 類的實例。
- 使用 TiffOptions.setCompression(TiffCompressions) 方法設置壓縮級別。
- 設置其他選項,例如每個樣本的位數、光度學、調色板等。
- 最後,使用 Image.save(String, TiffOptions) 方法保存壓縮的 TIFF 圖像。
以下代碼示例顯示瞭如何使用 Java 壓縮 TIFF 圖像。
// 通過文件路徑位置或流加載圖像
try (Image image = Image.load("sample.tiff"))
{
// 為生成的圖像創建一個 TiffOptions 實例
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// 設置 BitsPerSample、壓縮、光度模式和灰度調色板
outputSettings.setBitsPerSample(new int[] { 4 });
outputSettings.setCompression(TiffCompressions.Lzw);
outputSettings.setPhotometric(TiffPhotometrics.Palette);
outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
image.save("SampleTiff_out.tiff", outputSettings);
}
用於壓縮圖像的 Java API - 獲得免費許可證
如果您想在沒有評估限制的情況下試用 API,您可以獲得免費的臨時許可證。
結論
通常需要圖像壓縮以減小圖像的大小。因此,本文介紹瞭如何使用 Java 以編程方式壓縮 PNG、JPEG 和 TIFF 圖像。此外,您可以使用 文檔 探索有關 Java 圖像處理 API 的更多信息。
也可以看看
信息:Aspose 最近開發了一個新的在線網絡應用程序,允許您將一組圖像轉換為視頻。您可能還對另一項服務感興趣,該服務可用於通過 從視頻中提取聲音 來壓縮視頻。