类 MagicWandSettings

MagicWandSettings class

一个魔棒选择设置类。

public class MagicWandSettings

构造函数

名称描述
MagicWandSettings(Point)初始化 MagicWandSettings 类的新实例。
MagicWandSettings(int, int)初始化 MagicWandSettings 类的新实例。

属性

名称描述
AreaOfInterest { get; set; }获取或设置算法工作区域的边界。
ColorCompareMode { get; set; }获取或设置颜色比较的算法方式。
ColorComparisonDelegate { get; set; }如果 ColorCompareMode 设置为 Custom,则获取或设置自定义颜色比较算法。
ContiguousMode { get; set; }获取或设置一个值,指示魔棒是否仅定义连续像素。
DirectionalMode { get; set; }获取或设置洪水填充搜索算法的模式:四方向或八方向搜索。
Point { get; }获取或设置算法工作的参考点。
Threshold { get; set; }获取或设置像素颜色比较的容差水平。

示例

示例演示如何使用魔棒工具,根据任意像素的色调和颜色选择图像的简单区域。

[C#]

var imageFilePath = "input.png"; 
using (RasterImage image = (RasterImage)Image.Load(inputFilePath))
{
    // 使用魔棒工具基于像素 (120, 100) 的色调和颜色创建新掩码,阈值自定义为 150
    MagicWandTool
        .Select(image, new MagicWandSettings(120, 100) { Threshold = 150 })
        // 将掩码应用于图像
        .Apply();

    // 使用强制透明颜色类型选项保存图像
    image.Save(outputFilePath, new ImageOptions.PngOptions()
    {
        ColorType = PngColorType.TruecolorWithAlpha
    });
}

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

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

另请参见