Class MagicWandTool

Class MagicWandTool

De naam: Aspose.Imaging.MagicWand Verzameling: Aspose.Imaging.dll (25.4.0)

De klas voor magische wand algorithme belangrijkste logica.

public class MagicWandTool : IPartialArgb32PixelLoader

Inheritance

object MagicWandTool

Implements

IPartialArgb32PixelLoader

Geëerbiede leden

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Het voorbeeld laat zien hoe je een eenvoudig gebied van een afbeelding kunt selecteren op basis van de toon en kleur van elk pixel met behulp van het Magic Wand-tool.

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

Het voorbeeld toont hoe je een gecompliceerd gebied van een afbeelding kunt selecteren met behulp van Magic Wand-tool en de mogelijkheid om met masken (invert, union, substract) te communiceren.

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(De rectangle, int[], Het punt, het punt)

Het verwerken van de geladen pixels.

public void Process(Rectangle pixelsRectangle, int[] pixels, Point start, Point end)

Parameters

pixelsRectangle Rectangle

De pixels zijn rectangle.

pixels int []

De 32-bit ARGB pixels.

start Point

Als het niet gelijk is aan (left, boven) betekent dat het niet vol rectangle we hebben.

end Point

Als het niet gelijk is aan (right, bottom) betekent dat het niet volledig rectangle we hebben.

Select(Bezoek: MagicWandSettings)

Creëert een nieuwe Aspose.Imaging.MagicWand.ImageMasks.ImagicBitMask gebaseerd op Wl17.Magic Wand-instellingen en de bronnen _ www.mago.com .

public static ImageBitMask Select(RasterImage source, MagicWandSettings settings)

Parameters

source RasterImage

Raster afbeelding voor het algoritme om te werken over.

settings MagicWandSettings

De instellingen van de magische wand-algoritme die wordt gebruikt bij het maken van een masker.

Returns

ImageBitMask

Nieuw Aspose.Imaging.MagicWand.ImageMasks.ImmageBitMask.

 Nederlands