类 ImageGrayscaleMask

ImageGrayscaleMask class

描述灰度图像掩码。

public class ImageGrayscaleMask : IImageMask

构造函数

名称描述
ImageGrayscaleMask(RasterImage)使用指定的现有RasterImage的尺寸初始化 ImageGrayscaleMask 类的新实例。指定的RasterImage将被存储为源图像。
ImageGrayscaleMask(int, int)使用指定的宽度和高度初始化 ImageGrayscaleMask 类的新实例。

属性

名称描述
Bounds { get; }获取此掩码的边界(以像素为单位)。
Height { get; }获取此掩码的高度(以像素为单位)。
Item { get; set; }获取或设置指定像素的不透明度。
SelectionBounds { get; }获取掩码选定部分的边界(以像素为单位)。
Source { get; }获取用于创建此掩码的源图像(如果存在)。
Width { get; }获取此掩码的宽度(以像素为单位)。

方法

名称描述
Apply()如果存在,将当前遮罩应用于 RasterImage 源。
ApplyTo(RasterImage)将当前遮罩应用于指定的 RasterImage
Clone()创建一个新对象,该对象是当前实例的副本。
Crop(Rectangle)使用指定的矩形裁剪遮罩。
Crop(Size)使用指定的尺寸裁剪遮罩。
Crop(int, int)使用指定的宽度和高度裁剪遮罩。
ExclusiveDisjunction(ImageGrayscaleMask)获取当前遮罩与提供的遮罩的异或。
GetByteOpacity(int, int)获取指定像素的透明度,精确到字节。
Intersect(ImageGrayscaleMask)获取当前遮罩与提供的遮罩的交集。
Invert()获取当前掩码的反转。
IsOpaque(int, int)检查指定像素是否不透明。
IsTransparent(int, int)检查指定像素是否透明。
Subtract(ImageGrayscaleMask)获取当前掩码减去提供的掩码的结果。
Union(ImageGrayscaleMask)两个掩码的并集。
operator +两个掩码的并集。
operator ^两个掩码的异或。
operator !反转掩码。
operator *两个掩码的交集。
operator -从第一个掩码中减去第二个掩码。

示例

示例展示了如何使用魔棒工具选择图像的复杂区域以及与掩码交互的能力(反转、并集、减去)。

[C#]

var imageFilePath = "input.png"; 
using (RasterImage image = (RasterImage)Image.Load(inputFilePath))
{
    // 使用魔棒工具基于像素 (845, 128) 的色调和颜色创建新掩码
    MagicWandTool.Select(image, new MagicWandSettings(845, 128))
        // 将现有掩码与由魔棒工具创建的指定掩码进行并集
        .Union(new MagicWandSettings(416, 387))
        // 反转现有掩码
        .Invert()
        // 从现有掩码中减去由魔棒工具使用指定阈值创建的指定掩码
        .Subtract(new MagicWandSettings(1482, 346) { Threshold = 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() { Size = 3 })
        // 将掩码应用于图像
        .Apply();
        
    // 保存图像
    image.Save(outputFilePath);
}

另请参见