ImageMask

Inheritance: java.lang.Object

All Implemented Interfaces: com.aspose.imaging.magicwand.imagemasks.IImageMask

public abstract class ImageMask implements IImageMask

描述二值图像掩码。

方法

方法描述
to_ImageGrayscaleMask(ImageMask mask)mask 强制转换为 ImageGrayscaleMask
op_LogicalNot(ImageMask a)反转掩码。
op_Addition(ImageMask a, ImageMask b)两个掩码的并集。
op_Subtraction(ImageMask a, ImageMask b)从第一个掩码中减去第二个掩码。
op_Multiply(ImageMask a, ImageMask b)两个掩码的交集。
op_ExclusiveOr(ImageMask a, ImageMask b)两个掩码的异或。
getSource()获取用于创建此掩码的源图像(如果存在)。
getWidth()获取此掩码的宽度(以像素为单位)。
getHeight()获取此掩码的高度(以像素为单位)。
getBounds()获取此掩码的边界(以像素为单位)。
get_Item(int x, int y)获取指定像素的透明度。
inflate(int size)按指定量膨胀此掩码。
crop(Size size)使用指定的尺寸裁剪掩码。
crop(int width, int height)使用指定的宽度和高度裁剪掩码。
crop(Rectangle rectangle)使用指定的矩形裁剪掩码。
isOpaque(int x, int y)检查指定像素是否不透明。
isTransparent(int x, int y)检查指定像素是否透明。
getByteOpacity(int x, int y)获取指定像素的透明度,精确到字节。
getFeathered()获取使用默认设置羽化边框的灰度掩码。
getFeathered(FeatheringSettings settings)获取使用指定设置羽化边框的灰度掩码。
apply()如果存在,则将当前掩码应用于 RasterImage 源。
applyTo(RasterImage image)将当前掩码应用于指定的 RasterImage
invert()获取当前掩码的反转。
union(ImageMask mask)获取当前掩码与提供的掩码的并集。
union()获取当前掩码与对掩码源应用魔棒选择结果的并集。
union(MagicWandSettings settings)获取当前掩码与对掩码源应用魔棒选择结果的并集。
union(RasterImage image)获取当前掩码与对提供的图像应用魔棒选择结果的并集。
union(RasterImage image, MagicWandSettings settings)获取当前掩码与对提供的图像应用魔棒选择结果的并集。
subtract(ImageMask mask)获取从当前掩码中减去提供的掩码的结果。
subtract()获取对当前掩码源应用魔棒选择后,从掩码中减去的结果。
subtract(MagicWandSettings settings)获取对当前掩码源应用魔棒选择后,从掩码中减去的结果。
subtract(RasterImage image)获取对提供的图像应用魔棒选择后,从当前掩码中减去的结果。
subtract(RasterImage image, MagicWandSettings settings)获取对提供的图像应用魔棒选择后,从当前掩码中减去的结果。
intersect(ImageMask mask)获取当前掩码与提供的掩码的交集。
intersect()获取当前掩码与对掩码源应用魔棒选择结果的交集。
intersect(MagicWandSettings settings)获取当前掩码与对掩码源应用魔棒选择结果的交集。
intersect(RasterImage image)获取当前掩码与对提供的图像应用魔棒选择的结果的交集。
intersect(RasterImage image, MagicWandSettings settings)获取当前掩码与对提供的图像应用魔棒选择的结果的交集。
exclusiveDisjunction(ImageMask mask)获取当前掩码与提供的掩码的异或。
exclusiveDisjunction()获取当前掩码与对掩码源应用魔棒选择的结果的异或。
exclusiveDisjunction(MagicWandSettings settings)获取当前掩码与对掩码源应用魔棒选择的结果的异或。
exclusiveDisjunction(RasterImage image)获取当前掩码与对提供的图像应用魔棒选择的结果的异或。
exclusiveDisjunction(RasterImage image, MagicWandSettings settings)获取当前掩码与对提供的图像应用魔棒选择的结果的异或。

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);
}

to_ImageGrayscaleMask(ImageMask mask)

public static ImageGrayscaleMask to_ImageGrayscaleMask(ImageMask mask)

mask 强制转换为 ImageGrayscaleMask

Parameters:

参数类型描述
maskImageMask掩码值。

Returns: ImageGrayscaleMask - The new ImageGrayscaleMask base on mask.

op_LogicalNot(ImageMask a)

public static ImageBitMask op_LogicalNot(ImageMask a)

反转掩码。

Parameters:

参数类型描述
aImageMask待反转的掩码。

Returns: ImageBitMask - New ImageBitMask.

op_Addition(ImageMask a, ImageMask b)

public static ImageBitMask op_Addition(ImageMask a, ImageMask b)

两个掩码的并集。

Parameters:

参数类型描述
aImageMask第一个掩码。
bImageMask第二个掩码。

Returns: ImageBitMask - New ImageBitMask.

op_Subtraction(ImageMask a, ImageMask b)

public static ImageBitMask op_Subtraction(ImageMask a, ImageMask b)

从第一个掩码中减去第二个掩码。

Parameters:

参数类型描述
aImageMask第一个掩码。
bImageMask第二个掩码。

Returns: ImageBitMask - New ImageBitMask.

op_Multiply(ImageMask a, ImageMask b)

public static ImageBitMask op_Multiply(ImageMask a, ImageMask b)

两个掩码的交集。

Parameters:

参数类型描述
aImageMask第一个掩码。
bImageMask第二个掩码。

Returns: ImageBitMask - New ImageBitMask.

op_ExclusiveOr(ImageMask a, ImageMask b)

public static ImageBitMask op_ExclusiveOr(ImageMask a, ImageMask b)

两个掩码的异或。

Parameters:

参数类型描述
aImageMask第一个掩码。
bImageMask第二个掩码。

Returns: ImageBitMask - New ImageBitMask.

getSource()

public final RasterImage getSource()

获取用于创建此掩码的源图像(如果存在)。

Returns: RasterImage - the source image used to create this mask, if exists.

getWidth()

public final int getWidth()

获取此掩码的宽度(以像素为单位)。

Returns: int - 此掩码的宽度(以像素为单位)。

getHeight()

public final int getHeight()

获取此掩码的高度(以像素为单位)。

Returns: int - 此掩码的高度(以像素为单位)。

getBounds()

public final Rectangle getBounds()

获取此掩码的边界(以像素为单位)。

Returns: Rectangle - the bounds, in pixels, of this mask.

get_Item(int x, int y)

public abstract boolean get_Item(int x, int y)

获取指定像素的透明度。

Parameters:

参数类型描述
xint像素的 x 坐标。
yint像素的 y 坐标。

Returns: boolean - 如果指定像素不透明则为 true;否则为 false。

inflate(int size)

public abstract ImageMask inflate(int size)

按指定量膨胀此掩码。

Parameters:

参数类型描述
大小int用于膨胀此掩码的量。

Returns: ImageMask - An ImageMask.

crop(Size size)

public final ImageMask crop(Size size)

使用指定的尺寸裁剪掩码。

Parameters:

参数类型描述
sizeSize指定的大小。

Returns: ImageMask - An ImageMask.

crop(int width, int height)

public final ImageMask crop(int width, int height)

使用指定的宽度和高度裁剪掩码。

Parameters:

参数类型描述
宽度int指定的宽度。
高度int指定的高度。

Returns: ImageMask - An ImageMask.

crop(Rectangle rectangle)

public abstract ImageMask crop(Rectangle rectangle)

使用指定的矩形裁剪掩码。

Parameters:

参数类型描述
rectangleRectangle指定的矩形。

Returns: ImageMask - An ImageMask.

isOpaque(int x, int y)

public final boolean isOpaque(int x, int y)

检查指定像素是否不透明。

Parameters:

参数类型描述
xint像素的 x 坐标。
yint像素的 y 坐标。

Returns: boolean - 如果指定像素不透明则为 true;否则为 false。

isTransparent(int x, int y)

public final boolean isTransparent(int x, int y)

检查指定像素是否透明。

Parameters:

参数类型描述
xint像素的 x 坐标。
yint像素的 y 坐标。

Returns: boolean - 如果指定像素透明则为 true;否则为 false。

getByteOpacity(int x, int y)

public final byte getByteOpacity(int x, int y)

获取指定像素的透明度,精确到字节。

Parameters:

参数类型描述
xint像素的 x 坐标。
yint像素的 y 坐标。

Returns: byte - 字节值,表示指定像素的透明度。

getFeathered()

public final ImageGrayscaleMask getFeathered()

获取使用默认设置羽化边框的灰度掩码。

Returns: ImageGrayscaleMask - #to_ImageGrayscaleMask(ImageMask).to_ImageGrayscaleMask(ImageMask)} with feathered border.

getFeathered(FeatheringSettings settings)

public final ImageGrayscaleMask getFeathered(FeatheringSettings settings)

获取使用指定设置羽化边框的灰度掩码。

Parameters:

参数类型描述
settingsFeatheringSettings羽化设置。

Returns: ImageGrayscaleMask - #to_ImageGrayscaleMask(ImageMask).to_ImageGrayscaleMask(ImageMask)} with feathered border.

apply()

public final void apply()

如果存在,则将当前掩码应用于 RasterImage 源。

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);
    }});
}

applyTo(RasterImage image)

public final void applyTo(RasterImage image)

将当前掩码应用于指定的 RasterImage

Parameters:

参数类型描述
imageRasterImage要应用掩码的图像。

invert()

public final ImageBitMask invert()

获取当前掩码的反转。

Returns: ImageBitMask - New ImageBitMask.

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);
}

union(ImageMask mask)

public final ImageBitMask union(ImageMask mask)

获取当前掩码与提供的掩码的并集。

Parameters:

参数类型描述
maskImageMask提供的掩码

Returns: ImageBitMask - New ImageBitMask.

union()

public final ImageBitMask union()

获取当前掩码与对掩码源应用魔棒选择结果的并集。

Returns: ImageBitMask - New ImageBitMask.

union(MagicWandSettings settings)

public final ImageBitMask union(MagicWandSettings settings)

获取当前掩码与对掩码源应用魔棒选择结果的并集。

Parameters:

参数类型描述
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

union(RasterImage image)

public final ImageBitMask union(RasterImage image)

获取当前掩码与对提供的图像应用魔棒选择结果的并集。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。

Returns: ImageBitMask - New ImageBitMask.

union(RasterImage image, MagicWandSettings settings)

public final ImageBitMask union(RasterImage image, MagicWandSettings settings)

获取当前掩码与对提供的图像应用魔棒选择结果的并集。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

subtract(ImageMask mask)

public final ImageBitMask subtract(ImageMask mask)

获取从当前掩码中减去提供的掩码的结果。

Parameters:

参数类型描述
maskImageMask提供的掩码

Returns: ImageBitMask - New ImageBitMask.

subtract()

public final ImageBitMask subtract()

获取对当前掩码源应用魔棒选择后,从掩码中减去的结果。

Returns: ImageBitMask - New ImageBitMask.

subtract(MagicWandSettings settings)

public final ImageBitMask subtract(MagicWandSettings settings)

获取对当前掩码源应用魔棒选择后,从掩码中减去的结果。

Parameters:

参数类型描述
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

subtract(RasterImage image)

public final ImageBitMask subtract(RasterImage image)

获取对提供的图像应用魔棒选择后,从当前掩码中减去的结果。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。

Returns: ImageBitMask - New ImageBitMask.

subtract(RasterImage image, MagicWandSettings settings)

public final ImageBitMask subtract(RasterImage image, MagicWandSettings settings)

获取对提供的图像应用魔棒选择后,从当前掩码中减去的结果。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

intersect(ImageMask mask)

public final ImageBitMask intersect(ImageMask mask)

获取当前掩码与提供的掩码的交集。

Parameters:

参数类型描述
maskImageMask提供的掩码

Returns: ImageBitMask - New ImageBitMask.

intersect()

public final ImageBitMask intersect()

获取当前掩码与对掩码源应用魔棒选择结果的交集。

Returns: ImageBitMask - New ImageBitMask.

intersect(MagicWandSettings settings)

public final ImageBitMask intersect(MagicWandSettings settings)

获取当前掩码与对掩码源应用魔棒选择结果的交集。

Parameters:

参数类型描述
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

intersect(RasterImage image)

public final ImageBitMask intersect(RasterImage image)

获取当前掩码与对提供的图像应用魔棒选择的结果的交集。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。

Returns: ImageBitMask - New ImageBitMask.

intersect(RasterImage image, MagicWandSettings settings)

public final ImageBitMask intersect(RasterImage image, MagicWandSettings settings)

获取当前掩码与对提供的图像应用魔棒选择的结果的交集。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

exclusiveDisjunction(ImageMask mask)

public final ImageBitMask exclusiveDisjunction(ImageMask mask)

获取当前掩码与提供的掩码的异或。

Parameters:

参数类型描述
maskImageMask提供的掩码

Returns: ImageBitMask - New ImageBitMask.

exclusiveDisjunction()

public final ImageBitMask exclusiveDisjunction()

获取当前掩码与对掩码源应用魔棒选择的结果的异或。

Returns: ImageBitMask - New ImageBitMask.

exclusiveDisjunction(MagicWandSettings settings)

public final ImageBitMask exclusiveDisjunction(MagicWandSettings settings)

获取当前掩码与对掩码源应用魔棒选择的结果的异或。

Parameters:

参数类型描述
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.

exclusiveDisjunction(RasterImage image)

public final ImageBitMask exclusiveDisjunction(RasterImage image)

获取当前掩码与对提供的图像应用魔棒选择的结果的异或。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。

Returns: ImageBitMask - New ImageBitMask.

exclusiveDisjunction(RasterImage image, MagicWandSettings settings)

public final ImageBitMask exclusiveDisjunction(RasterImage image, MagicWandSettings settings)

获取当前掩码与对提供的图像应用魔棒选择的结果的异或。

Parameters:

参数类型描述
imageRasterImage用于魔棒的图像。
settingsMagicWandSettings魔棒设置。

Returns: ImageBitMask - New ImageBitMask.