ImageGrayscaleMask

Inheritance: java.lang.Object

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

public class ImageGrayscaleMask implements IImageMask

描述灰度图像掩码。

构造函数

构造函数描述
ImageGrayscaleMask(int width, int height)使用指定的宽度和高度初始化 ImageGrayscaleMask 类的新实例。
ImageGrayscaleMask(RasterImage image)使用指定的现有 RasterImage 的尺寸初始化 ImageGrayscaleMask 类的新实例。

方法

方法描述
getSource()获取用于创建此掩码的源图像(如果存在)。
getWidth()获取此掩码的宽度(以像素为单位)。
getHeight()获取此掩码的高度(以像素为单位)。
getBounds()获取此掩码的边界(以像素为单位)。
getSelectionBounds()获取掩码选定部分的边界(以像素为单位)。
get_Item(int x, int y)获取指定像素的透明度。
set_Item(int x, int y, byte value)设置指定像素的透明度。
isOpaque(int x, int y)检查指定像素是否不透明。
isTransparent(int x, int y)检查指定像素是否透明。
getByteOpacity(int x, int y)获取指定像素的透明度,精确到字节。
deepClone()创建一个新对象,该对象是当前实例的副本。
apply()如果存在,则将当前掩码应用于 RasterImage 源。
applyTo(RasterImage image)将当前掩码应用于指定的 RasterImage
crop(Size size)使用指定的尺寸裁剪掩码。
crop(int width, int height)使用指定的宽度和高度裁剪掩码。
crop(Rectangle rectangle)使用指定的矩形裁剪掩码。
invert()获取当前掩码的反转。
union(ImageGrayscaleMask mask)两个掩码的并集。
subtract(ImageGrayscaleMask mask)获取从当前掩码中减去提供的掩码的结果。
intersect(ImageGrayscaleMask mask)获取当前掩码与提供的掩码的交集。
exclusiveDisjunction(ImageGrayscaleMask mask)获取当前掩码与提供的掩码的异或。
op_LogicalNot(ImageGrayscaleMask a)反转掩码。
op_Addition(ImageGrayscaleMask a, ImageGrayscaleMask b)两个掩码的并集。
op_Subtraction(ImageGrayscaleMask a, ImageGrayscaleMask b)从第一个掩码中减去第二个掩码。
op_Multiply(ImageGrayscaleMask a, ImageGrayscaleMask b)两个掩码的交集。
op_ExclusiveOr(ImageGrayscaleMask a, ImageGrayscaleMask b)两个掩码的异或。

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

ImageGrayscaleMask(int width, int height)

public ImageGrayscaleMask(int width, int height)

使用指定的宽度和高度初始化 ImageGrayscaleMask 类的新实例。

Parameters:

参数类型描述
宽度int掩码的宽度。
高度int掩码的高度。

ImageGrayscaleMask(RasterImage image)

public ImageGrayscaleMask(RasterImage image)

使用指定的现有 RasterImage 的尺寸初始化 ImageGrayscaleMask 类的新实例。指定的 RasterImage 将被存储为源图像。

Parameters:

参数类型描述
imageRasterImage源图像。

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.

getSelectionBounds()

public final Rectangle getSelectionBounds()

获取掩码选定部分的边界(以像素为单位)。

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

get_Item(int x, int y)

public final byte get_Item(int x, int y)

获取指定像素的透明度。

Parameters:

参数类型描述
xint像素的 x 坐标。
yint像素的 Y 坐标。取值:字节值;透明时为 0;不透明时为 255。

Returns: byte

set_Item(int x, int y, byte value)

public final void set_Item(int x, int y, byte value)

设置指定像素的透明度。

Parameters:

参数类型描述
xint像素的 x 坐标。
yint像素的 Y 坐标。取值:字节值;透明时为 0;不透明时为 255。
valuebyte指定像素的透明度。

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 - 字节值,表示指定像素的透明度。

deepClone()

public final Object deepClone()

创建一个新对象,该对象是当前实例的副本。

Returns: java.lang.Object - 此实例的副本的新对象。

apply()

public final void apply()

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

applyTo(RasterImage image)

public final void applyTo(RasterImage image)

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

Parameters:

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

crop(Size size)

public final ImageGrayscaleMask crop(Size size)

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

Parameters:

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

Returns: ImageGrayscaleMask - A cropped ImageGrayscaleMask.

crop(int width, int height)

public final ImageGrayscaleMask crop(int width, int height)

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

Parameters:

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

Returns: ImageGrayscaleMask - A cropped ImageGrayscaleMask.

crop(Rectangle rectangle)

public final ImageGrayscaleMask crop(Rectangle rectangle)

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

Parameters:

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

Returns: ImageGrayscaleMask - A cropped ImageGrayscaleMask.

invert()

public final ImageGrayscaleMask invert()

获取当前掩码的反转。

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

union(ImageGrayscaleMask mask)

public final ImageGrayscaleMask union(ImageGrayscaleMask mask)

两个掩码的并集。

Parameters:

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

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

subtract(ImageGrayscaleMask mask)

public final ImageGrayscaleMask subtract(ImageGrayscaleMask mask)

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

Parameters:

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

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

intersect(ImageGrayscaleMask mask)

public final ImageGrayscaleMask intersect(ImageGrayscaleMask mask)

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

Parameters:

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

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

exclusiveDisjunction(ImageGrayscaleMask mask)

public final ImageGrayscaleMask exclusiveDisjunction(ImageGrayscaleMask mask)

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

Parameters:

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

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

op_LogicalNot(ImageGrayscaleMask a)

public static ImageGrayscaleMask op_LogicalNot(ImageGrayscaleMask a)

反转掩码。

Parameters:

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

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

op_Addition(ImageGrayscaleMask a, ImageGrayscaleMask b)

public static ImageGrayscaleMask op_Addition(ImageGrayscaleMask a, ImageGrayscaleMask b)

两个掩码的并集。

Parameters:

参数类型描述
aImageGrayscaleMask第一个掩码。
bImageGrayscaleMask第二个掩码。

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

op_Subtraction(ImageGrayscaleMask a, ImageGrayscaleMask b)

public static ImageGrayscaleMask op_Subtraction(ImageGrayscaleMask a, ImageGrayscaleMask b)

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

Parameters:

参数类型描述
aImageGrayscaleMask第一个掩码。
bImageGrayscaleMask第二个掩码。

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

op_Multiply(ImageGrayscaleMask a, ImageGrayscaleMask b)

public static ImageGrayscaleMask op_Multiply(ImageGrayscaleMask a, ImageGrayscaleMask b)

两个掩码的交集。

Parameters:

参数类型描述
aImageGrayscaleMask第一个掩码。
bImageGrayscaleMask第二个掩码。

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.

op_ExclusiveOr(ImageGrayscaleMask a, ImageGrayscaleMask b)

public static ImageGrayscaleMask op_ExclusiveOr(ImageGrayscaleMask a, ImageGrayscaleMask b)

两个掩码的异或。

Parameters:

参数类型描述
aImageGrayscaleMask第一个掩码。
bImageGrayscaleMask第二个掩码。

Returns: ImageGrayscaleMask - New ImageGrayscaleMask.