Class MagicWandTool
Название пространства: Aspose.Imaging.MagicWand Ассоциация: Aspose.Imaging.dll (25.4.0)
Класс для магического ванда алгоритм основной логики.
public class MagicWandTool : IPartialArgb32PixelLoader
Inheritance
Implements
Наследованные члены
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Пример показывает, как выбрать простой участок изображения на основе тона и цвета любого пикселя с помощью инструмента Magic Wand.
var imageFilePath = "input.png";
using (RasterImage image = (RasterImage)Image.Load(inputFilePath))
{
// Create a new mask using magic wand tool based on tone and color of pixel (120, 100) with custom threshold equal to 150
MagicWandTool
.Select(image, new MagicWandSettings(120, 100) { Threshold = 150 })
// Apply mask to the image
.Apply();
// Save image with forced transparency color type option
image.Save(outputFilePath, new ImageOptions.PngOptions()
{
ColorType = PngColorType.TruecolorWithAlpha
});
}
Пример показывает, как выбрать сложную область изображения с помощью инструмента Magic Wand и способность взаимодействовать с масками (инверт, союз, субстрат).
var imageFilePath = "input.png";
using (RasterImage image = (RasterImage)Image.Load(inputFilePath))
{
// Create a new mask using magic wand tool based on tone and color of pixel (845, 128)
MagicWandTool.Select(image, new MagicWandSettings(845, 128))
// Union the existing mask with the specified one created by magic wand tool
.Union(new MagicWandSettings(416, 387))
// Invert the existing mask
.Invert()
// Subtract the specified mask created by magic wand tool with specified threshold from the existing one
.Subtract(new MagicWandSettings(1482, 346) { Threshold = 69 })
// Subtract four specified rectangle masks from the existing mask one by one
.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))
// Feather mask with specified settings
.GetFeathered(new FeatheringSettings() { Size = 3 })
// Apply mask to the image
.Apply();
// Save image
image.Save(outputFilePath);
}
Methods
Process(Ректоуголь, int[ ], Точка, точка)
Обработка загруженных пикселей.
public void Process(Rectangle pixelsRectangle, int[] pixels, Point start, Point end)
Parameters
pixelsRectangle
Rectangle
Пикселы прямоугольные.
pixels
int
[ ]
32-битный ARGB пиксель.
start
Point
Если не равен (левой, верхней) значит, что это не полный прямоугольник у нас.
end
Point
Если не равны (права, нижняя) значит, что это не полный прямоугольник, который у нас есть.
Select(Скриншоты, MagicWandSettings)
Создает новый Aspose.Imaging.MagicWand.ImageMasks.ImagicBitMask, основывающийся на Wl17.MagicWorld.
public static ImageBitMask Select(RasterImage source, MagicWandSettings settings)
Parameters
source
RasterImage
Растер изображения для работы над алгоритмом.
settings
MagicWandSettings
Настройки алгоритма волшебного ванда, используемого при создании маски.
Returns
Новый Aspose.Imaging.MagicWand.ImageMasks.ImagicBitMask.