在 Java 中裁剪圖像

在之前的博文中,我們向您展示瞭如何實現各種圖像編輯功能,例如調整大小翻轉旋轉 圖像。除了這些功能外,圖像裁剪還廣泛用於修剪圖像中不需要的區域。此外,您還可以裁剪圖像以聚焦框架中的特定對象。在本文中,您將學習如何在 Java 中以編程方式裁剪圖像。我們將演示如何使用移位值或矩形來裁剪圖像。

用於裁剪圖像的 Java API - 免費下載

Aspose.Imaging for Java 是一個了不起的圖像編輯 API,它提供了廣泛的圖像處理功能。此外,它還支持多種光柵和矢量圖像格式。我們將使用此 API 從我們的 Java 應用程序中裁剪圖像。您可以 下載 API 或使用以下 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>22.9</version>
</dependency>

在 Java 中裁剪圖像

裁剪光柵圖像有兩種方法:偏移值和矩形。在第一種方法中,我們需要提供左、右、上和下偏移值來裁剪圖像。而在第二種方法中,我們定義一個矩形來裁剪圖像的特定區域。

讓我們看看上述每種在 Java 中裁剪圖像的方法。

在 Java 中使用 Shift 值裁剪圖像

以下是在 Java 中使用移位值裁剪圖像的步驟。

以下代碼示例顯示瞭如何在 Java 中裁剪圖像。

// 加載圖像。
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// 在裁剪之前,應該緩存圖像以獲得更好的性能。
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// 定義所有四個邊的偏移值。
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// 根據偏移值,對圖像應用裁剪。作物方法將轉變
	// 圖像向圖像中心邊界並將結果保存到磁盤。
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// 保存裁剪後的圖像。
	rasterImage.save("cropped.jpg");
}

以下是我們用於裁剪的輸入圖像。

在 Java 中裁剪圖像

下面是裁剪後的圖像。

Java中的圖像裁剪

使用矩形的 Java 圖像裁剪

您還可以定義一個矩形來裁剪圖像的所需區域。以下步驟演示了在 Java 中使用矩形進行圖像裁剪。

以下代碼示例顯示瞭如何在 Java 中使用矩形執行圖像裁剪。

// 加載圖像。
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// 在裁剪之前,應該緩存圖像以獲得更好的性能。
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// 創建具有所需大小的 Rectangle 類的實例。
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// 裁剪圖像。
	rasterImage.crop(rectangle);

	// 保存裁剪後的圖像。
	rasterImage.save("cropped.jpg");
}

用於 Java 的圖像裁剪 API - 獲取免費許可證

您可以 獲得免費的臨時許可證 並在沒有評估限制的情況下裁剪圖像。

結論

在本文中,您學習瞭如何使用 Java 裁剪圖像。我們已經演示了幾種使用移位值或矩形來裁剪圖像的方法。此外,您可以使用 文檔 探索有關 Java 圖像處理 API 的更多信息。此外,您可以通過我們的 論壇 與我們分享您的疑問。

也可以看看