Java 魔棒工具

Aspose.Imaging for Java 是一個功能強大且多功能的函式庫,為開發人員提供了廣泛的影像處理功能。該庫提供的主要功能之一是魔棒工具,它可以根據顏色相似性精確有效地選擇圖像中的區域。在這篇文章中,我們將探討如何在 Java 中的圖像上使用 Magic Wand 工具。

魔棒工具

魔棒工具是影像編輯軟體(例如 Adobe Photoshop)中提供的實用功能。它用於選擇影像中相似顏色或色調的區域。該工具的工作原理是單擊影像中的特定點,並根據容差設定自動選擇具有相似顏色或色調值的連續區域。讓我們看看如何在 Java 應用程式中以程式設計方式使用 Magic Wand 工具。

Java 魔棒工具

我們將使用 Aspose.Imaging for Java 提供的 Magic Wand 工具 - 一個 API,使開發人員能夠在其 Java 應用程式中使用各種圖像格式。它允許執行與影像處理和操作相關的各種任務,例如編輯、轉換、壓縮和顏色調整。

若要安裝 Aspose.Imaging for Java,請使用下列 Maven 設定或下載 JAR 檔案。

<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>23.10</version>
    <classifier>jdk16</classifier>
</dependency>

在 Java 中使用魔棒工具

MagicWandTool 類別可讓您對影像執行選擇、並集、反轉和減法操作。在影像中選擇特定顏色區域時,您需要指定所需區域內的 X 和 Y 座標。然後,魔棒工具會評估所選像素與其相鄰像素的色調和顏色。當偵測到相似性時,該工具會為所選區域產生一個遮罩。

利用 MagicWandSettings 類,您可以設定容差。較高的容差值意味著選擇中將包含更廣泛的顏色範圍,而較低的容差值則將選擇範圍限制為更窄的相似顏色範圍。

以下是在 Java 中使用 Magic Wand 工具的步驟。

  • 首先,使用 Image.load 方法將圖片載入為 RasterImage。
  • 然後,建立 MagicWandSettings 類別的實例並使用 X 和 Y 參考座標對其進行初始化。
  • 使用 MagicWandTool.select 方法根據像素的色調和顏色,使用魔棒工具建立新遮罩。
  • 在影像上使用所需的魔棒功能。
  • 呼叫 apply() 方法來套用遮罩。
  • 最後,使用 Image.save() 方法儲存影像。

請參閱上述步驟中使用的類別和方法的參考資料

以下程式碼片段展示如何在 Java 中的圖像上使用 Magic Wand 工具。

import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.magicwand.*;
import com.aspose.imaging.magicwand.imagemasks.*;

// 取得輸入資料的路徑
String templatesFolder = System.getenv("DATA_PATH");
// 獲取輸出路徑
String outputFolder = System.getenv("OUT_PATH");

if (templatesFolder == null)
   templatesFolder = "data";

if (outputFolder == null)
  outputFolder = "out";


try (RasterImage image = (RasterImage)Image.load(templatesFolder + "/template.png"))
{
	// 使用魔棒工具根據像素的色調和顏色建立新遮罩 {845, 128}
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// 將現有遮罩與魔術棒工具所建立的指定遮罩合併
		.union(new MagicWandSettings(30, 30))
		// 反轉現有蒙版
		.invert()
		// 從現有遮罩中減去魔術棒工具所建立的指定遮罩 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// 從現有蒙版中一一減去四個指定的矩形蒙版
		.subtract(new RectangleMask(0, 0, 50, 50))
		// 具有指定設定的羽毛面具
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// 對影像應用蒙版
		.apply();
	image.save(outputFolder + "/result.png");
}

取得免費許可證

取得免費的臨時許可證並不受任何限制地評估 Java Magic Wand 工具。

結論

在這篇文章中,我們使用強大的影像處理庫探索了 Java 中的 Magic Wand 工具,該程式庫使開發人員能夠根據色彩相似性執行影像選擇。透過遵循本指南中概述的步驟,您可以將 Magic Wand 工具無縫整合到您的 Java 應用程式中,並釋放影像處理和編輯的廣泛可能性。

Aspose.Imaging for Java 提供了一套全面的圖像處理功能。您可以使用文件探索有關該庫的更多資訊。此外,您也可以在我們的論壇上發佈您的疑問。

也可以看看