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()获取一个值,指示魔棒是否仅定义连续像素。
setContiguousMode(boolean value)设置一个值,指示魔棒是否仅定义连续像素。
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:

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

getContiguousMode()

public final boolean getContiguousMode()

获取一个值,指示魔棒是否仅定义连续像素。

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

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

setContiguousMode(boolean value)

public final void setContiguousMode(boolean value)

设置一个值,指示魔棒是否仅定义连续像素。

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

Parameters:

参数类型描述
valueboolean指示魔棒是否仅定义连续像素的值。

getDirectionalMode()

public final int getDirectionalMode()

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

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

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

setDirectionalMode(int value)

public final void setDirectionalMode(int value)

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

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

Parameters:

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

getColorCompareMode()

public final int getColorCompareMode()

获取颜色比较的算法。

值:颜色比较模式。

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

setColorCompareMode(int value)

public final void setColorCompareMode(int value)

设置颜色比较的算法。

值:颜色比较模式。

Parameters:

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

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,则使用自定义颜色比较算法。