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 提供了一套全面的图像处理功能。您可以使用文档探索有关该库的更多信息。此外,您还可以在我们的论坛上发布您的疑问。

也可以看看