ImageMask
Inheritance: java.lang.Object
All Implemented Interfaces: com.aspose.imaging.magicwand.imagemasks.IImageMask
public abstract class ImageMask implements IImageMask
描述二值图像掩码。
方法
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:
| 参数 | 类型 | 描述 |
|---|---|---|
| mask | ImageMask | 掩码值。 |
Returns:
ImageGrayscaleMask - The new ImageGrayscaleMask base on mask.
op_LogicalNot(ImageMask a)
public static ImageBitMask op_LogicalNot(ImageMask a)
反转掩码。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| a | ImageMask | 待反转的掩码。 |
Returns: ImageBitMask - New ImageBitMask.
op_Addition(ImageMask a, ImageMask b)
public static ImageBitMask op_Addition(ImageMask a, ImageMask b)
两个掩码的并集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| a | ImageMask | 第一个掩码。 |
| b | ImageMask | 第二个掩码。 |
Returns: ImageBitMask - New ImageBitMask.
op_Subtraction(ImageMask a, ImageMask b)
public static ImageBitMask op_Subtraction(ImageMask a, ImageMask b)
从第一个掩码中减去第二个掩码。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| a | ImageMask | 第一个掩码。 |
| b | ImageMask | 第二个掩码。 |
Returns: ImageBitMask - New ImageBitMask.
op_Multiply(ImageMask a, ImageMask b)
public static ImageBitMask op_Multiply(ImageMask a, ImageMask b)
两个掩码的交集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| a | ImageMask | 第一个掩码。 |
| b | ImageMask | 第二个掩码。 |
Returns: ImageBitMask - New ImageBitMask.
op_ExclusiveOr(ImageMask a, ImageMask b)
public static ImageBitMask op_ExclusiveOr(ImageMask a, ImageMask b)
两个掩码的异或。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| a | ImageMask | 第一个掩码。 |
| b | ImageMask | 第二个掩码。 |
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:
| 参数 | 类型 | 描述 |
|---|---|---|
| x | int | 像素的 x 坐标。 |
| y | int | 像素的 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:
| 参数 | 类型 | 描述 |
|---|---|---|
| size | Size | 指定的大小。 |
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:
| 参数 | 类型 | 描述 |
|---|---|---|
| rectangle | Rectangle | 指定的矩形。 |
Returns: ImageMask - An ImageMask.
isOpaque(int x, int y)
public final boolean isOpaque(int x, int y)
检查指定像素是否不透明。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| x | int | 像素的 x 坐标。 |
| y | int | 像素的 y 坐标。 |
Returns: boolean - 如果指定像素不透明则为 true;否则为 false。
isTransparent(int x, int y)
public final boolean isTransparent(int x, int y)
检查指定像素是否透明。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| x | int | 像素的 x 坐标。 |
| y | int | 像素的 y 坐标。 |
Returns: boolean - 如果指定像素透明则为 true;否则为 false。
getByteOpacity(int x, int y)
public final byte getByteOpacity(int x, int y)
获取指定像素的透明度,精确到字节。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| x | int | 像素的 x 坐标。 |
| y | int | 像素的 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:
| 参数 | 类型 | 描述 |
|---|---|---|
| settings | FeatheringSettings | 羽化设置。 |
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:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 要应用掩码的图像。 |
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:
| 参数 | 类型 | 描述 |
|---|---|---|
| mask | ImageMask | 提供的掩码 |
Returns: ImageBitMask - New ImageBitMask.
union()
public final ImageBitMask union()
获取当前掩码与对掩码源应用魔棒选择结果的并集。
Returns: ImageBitMask - New ImageBitMask.
union(MagicWandSettings settings)
public final ImageBitMask union(MagicWandSettings settings)
获取当前掩码与对掩码源应用魔棒选择结果的并集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
union(RasterImage image)
public final ImageBitMask union(RasterImage image)
获取当前掩码与对提供的图像应用魔棒选择结果的并集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
Returns: ImageBitMask - New ImageBitMask.
union(RasterImage image, MagicWandSettings settings)
public final ImageBitMask union(RasterImage image, MagicWandSettings settings)
获取当前掩码与对提供的图像应用魔棒选择结果的并集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
subtract(ImageMask mask)
public final ImageBitMask subtract(ImageMask mask)
获取从当前掩码中减去提供的掩码的结果。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| mask | ImageMask | 提供的掩码 |
Returns: ImageBitMask - New ImageBitMask.
subtract()
public final ImageBitMask subtract()
获取对当前掩码源应用魔棒选择后,从掩码中减去的结果。
Returns: ImageBitMask - New ImageBitMask.
subtract(MagicWandSettings settings)
public final ImageBitMask subtract(MagicWandSettings settings)
获取对当前掩码源应用魔棒选择后,从掩码中减去的结果。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
subtract(RasterImage image)
public final ImageBitMask subtract(RasterImage image)
获取对提供的图像应用魔棒选择后,从当前掩码中减去的结果。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
Returns: ImageBitMask - New ImageBitMask.
subtract(RasterImage image, MagicWandSettings settings)
public final ImageBitMask subtract(RasterImage image, MagicWandSettings settings)
获取对提供的图像应用魔棒选择后,从当前掩码中减去的结果。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
intersect(ImageMask mask)
public final ImageBitMask intersect(ImageMask mask)
获取当前掩码与提供的掩码的交集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| mask | ImageMask | 提供的掩码 |
Returns: ImageBitMask - New ImageBitMask.
intersect()
public final ImageBitMask intersect()
获取当前掩码与对掩码源应用魔棒选择结果的交集。
Returns: ImageBitMask - New ImageBitMask.
intersect(MagicWandSettings settings)
public final ImageBitMask intersect(MagicWandSettings settings)
获取当前掩码与对掩码源应用魔棒选择结果的交集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
intersect(RasterImage image)
public final ImageBitMask intersect(RasterImage image)
获取当前掩码与对提供的图像应用魔棒选择的结果的交集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
Returns: ImageBitMask - New ImageBitMask.
intersect(RasterImage image, MagicWandSettings settings)
public final ImageBitMask intersect(RasterImage image, MagicWandSettings settings)
获取当前掩码与对提供的图像应用魔棒选择的结果的交集。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
exclusiveDisjunction(ImageMask mask)
public final ImageBitMask exclusiveDisjunction(ImageMask mask)
获取当前掩码与提供的掩码的异或。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| mask | ImageMask | 提供的掩码 |
Returns: ImageBitMask - New ImageBitMask.
exclusiveDisjunction()
public final ImageBitMask exclusiveDisjunction()
获取当前掩码与对掩码源应用魔棒选择的结果的异或。
Returns: ImageBitMask - New ImageBitMask.
exclusiveDisjunction(MagicWandSettings settings)
public final ImageBitMask exclusiveDisjunction(MagicWandSettings settings)
获取当前掩码与对掩码源应用魔棒选择的结果的异或。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.
exclusiveDisjunction(RasterImage image)
public final ImageBitMask exclusiveDisjunction(RasterImage image)
获取当前掩码与对提供的图像应用魔棒选择的结果的异或。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
Returns: ImageBitMask - New ImageBitMask.
exclusiveDisjunction(RasterImage image, MagicWandSettings settings)
public final ImageBitMask exclusiveDisjunction(RasterImage image, MagicWandSettings settings)
获取当前掩码与对提供的图像应用魔棒选择的结果的异或。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| image | RasterImage | 用于魔棒的图像。 |
| settings | MagicWandSettings | 魔棒设置。 |
Returns: ImageBitMask - New ImageBitMask.