MagicWandSettings

Inheritance: java.lang.Object

public class MagicWandSettings

Magic Wand 选择设置类。

构造函数

构造函数描述
MagicWandSettings(Point point)初始化一个新的 MagicWandSettings 类的实例。
MagicWandSettings(int x, int y)初始化一个新的 MagicWandSettings 类的实例。

方法

方法描述
getAreaOfInterest()获取算法工作区域的边界。
setAreaOfInterest(Rectangle value)设置算法工作区域的边界。
getPoint()获取算法工作的参考点。
getThreshold()获取像素颜色比较的容差级别。
setThreshold(int value)设置像素颜色比较的容差级别。
getContiguousMode()获取一个值,指示 magic wand 是否仅定义相连的像素。
setContiguousMode(boolean value)设置一个值,指示 magic wand 是否仅定义相连的像素。
getDirectionalMode()获取洪水填充搜索算法的模式:四方向或八方向搜索。
setDirectionalMode(int value)设置洪水填充搜索算法的模式:四方向或八方向搜索。
getColorCompareMode()获取颜色比较的算法。
setColorCompareMode(int value)设置颜色比较的算法。
getColorComparisonDelegate()获取自定义颜色比较算法,如果 ColorCompareMode(#getColorCompareMode.getColorCompareMode/#setColorCompareMode(int).setColorCompareMode(int)) 被设置为 ColorComparisonMode.Custom
setColorComparisonDelegate(MagicWandSettings.ColorComparison value)设置自定义颜色比较算法,如果 ColorCompareMode(#getColorCompareMode.getColorCompareMode/#setColorCompareMode(int).setColorCompareMode(int)) 被设置为 ColorComparisonMode.Custom

Example: The example shows how to select a simple area of an image based on tone and color of any pixel using Magic Wand tool.

String imageFilePath = "input.png";
String outputFilePath = "masked.png";
try (RasterImage image = (RasterImage)Image.load(imageFilePath))
{
    // 使用魔棒工具基于像素 (120, 100) 的色调和颜色创建新掩码,自定义阈值设为 150。
    MagicWandTool
            .select(image, new MagicWandSettings(120, 100) {{ setThreshold(150); }})
            // 将掩码应用于图像
            .apply();

    // 使用强制透明颜色类型选项保存图像
    image.save(outputFilePath, new PngOptions()
    {{
        setColorType(PngColorType.TruecolorWithAlpha);
    }});
}

Example: The example shows how to select a complicated area of an image using Magic Wand tool and the ability to interact with masks (invert, union, subtract).

String imageFilePath = "input.png";
String outputFilePath = "masked-complex.png";
try (RasterImage image = (RasterImage)Image.load(imageFilePath))
{
    // 使用魔棒工具基于像素 (845, 128) 的色调和颜色创建新掩码
    MagicWandTool.select(image, new MagicWandSettings(845, 128))
            // 将现有掩码与魔棒工具创建的指定掩码进行合并
            .union(new MagicWandSettings(416, 387))
            // 反转现有的遮罩
            .invert()
            // 从现有遮罩中减去使用魔棒工具并具有指定阈值创建的指定遮罩
            .subtract(new MagicWandSettings(1482, 346) {{ setThreshold(69); }})
            // 一次一次地从现有遮罩中减去四个指定的矩形遮罩
            .subtract(new RectangleMask(0, 0, 800, 150))
            .subtract(new RectangleMask(0, 380, 600, 220))
            .subtract(new RectangleMask(930, 520, 110, 40))
            .subtract(new RectangleMask(1370, 400, 120, 200))
            // 使用指定设置羽化遮罩
            .getFeathered(new FeatheringSettings() {{ setSize(3); }})
            // 将掩码应用于图像
            .apply();

    // 保存图像
    image.save(outputFilePath);
}

MagicWandSettings(Point point)

public MagicWandSettings(Point point)

初始化一个新的 MagicWandSettings 类的实例。

Parameters:

参数类型描述
pointPoint参考点。

MagicWandSettings(int x, int y)

public MagicWandSettings(int x, int y)

初始化一个新的 MagicWandSettings 类的实例。

Parameters:

参数类型描述
xint参考点的 X 坐标。
yint参考点的 Y 坐标。

getAreaOfInterest()

public final Rectangle getAreaOfInterest()

获取算法工作区域的边界。

值:表示感兴趣区域边界的矩形。

Returns: Rectangle - the bounds of the area for algorithm work.

setAreaOfInterest(Rectangle value)

public final void setAreaOfInterest(Rectangle value)

设置算法工作区域的边界。

值:表示感兴趣区域边界的矩形。

Parameters:

参数类型描述
valueRectangle算法工作区域的边界。

getPoint()

public final Point getPoint()

获取算法工作的参考点。

值:Point 值。

Returns: Point - the reference point for algorithm work.

getThreshold()

public final int getThreshold()

获取像素颜色比较的容差级别。

值:颜色比较的阈值。

Returns: int - 像素颜色比较的容差级别。

setThreshold(int value)

public final void setThreshold(int value)

设置像素颜色比较的容差级别。

值:颜色比较的阈值。

Parameters:

参数类型描述
int像素颜色比较的容差级别。

getContiguousMode()

public final boolean getContiguousMode()

获取一个值,指示 magic wand 是否仅定义相连的像素。

值:如果元素已启用则为 true;否则为 false。默认值为 true

Returns: boolean - 一个值,指示魔棒是否仅定义连续像素。

setContiguousMode(boolean value)

public final void setContiguousMode(boolean value)

设置一个值,指示 magic wand 是否仅定义相连的像素。

值:如果元素已启用则为 true;否则为 false。默认值为 true

Parameters:

参数类型描述
boolean一个值,指示魔棒是否仅定义连续像素。

getDirectionalMode()

public final int getDirectionalMode()

获取洪水填充搜索算法的模式:四方向或八方向搜索。

值:填充搜索算法的模式。

Returns: int - 填充搜索算法的模式:四方向或八方向搜索。

setDirectionalMode(int value)

public final void setDirectionalMode(int value)

设置洪水填充搜索算法的模式:四方向或八方向搜索。

值:填充搜索算法的模式。

Parameters:

参数类型描述
int填充搜索算法的模式:四方向或八方向搜索。

getColorCompareMode()

public final int getColorCompareMode()

获取颜色比较的算法。

值:颜色比较模式。

Returns: int - 颜色比较的算法。

setColorCompareMode(int value)

public final void setColorCompareMode(int value)

设置颜色比较的算法。

值:颜色比较模式。

Parameters:

参数类型描述
int颜色比较的算法。

getColorComparisonDelegate()

public final MagicWandSettings.ColorComparison getColorComparisonDelegate()

获取自定义颜色比较算法,如果 ColorCompareMode(#getColorCompareMode.getColorCompareMode/#setColorCompareMode(int).setColorCompareMode(int)) 被设置为 ColorComparisonMode.Custom

值:颜色比较委托。

Returns: ColorComparison - the custom color comparison algorithm if ColorCompareMode(#getColorCompareMode.getColorCompareMode/#setColorCompareMode(int).setColorCompareMode(int)) is set to ColorComparisonMode.Custom.

setColorComparisonDelegate(MagicWandSettings.ColorComparison value)

public final void setColorComparisonDelegate(MagicWandSettings.ColorComparison value)

设置自定义颜色比较算法,如果 ColorCompareMode(#getColorCompareMode.getColorCompareMode/#setColorCompareMode(int).setColorCompareMode(int)) 被设置为 ColorComparisonMode.Custom

值:颜色比较委托。

Parameters:

参数类型描述
valueColorComparison如果 ColorCompareMode(\#getColorCompareMode.getColorCompareMode/\#setColorCompareMode(int).setColorCompareMode(int)) 被设置为 ColorComparisonMode.Custom,则使用自定义颜色比较算法。