Class MagicWandTool

Class MagicWandTool

Der Name: Aspose.Imaging.MagicWand Versammlung: Aspose.Imaging.dll (25.4.0)

Die Klasse für Magie Wand-Algorithmus Hauptlogik.

public class MagicWandTool : IPartialArgb32PixelLoader

Inheritance

object MagicWandTool

Implements

IPartialArgb32PixelLoader

Vererbte Mitglieder

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

Examples

Das Beispiel zeigt, wie man ein einfaches Gebiet eines Bildes auf der Grundlage des Tons und der Farbe eines Pixels mit dem Tool Magic Wand auswählt.

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

Das Beispiel zeigt, wie man ein kompliziertes Bildbereich mit dem Magic Wand-Tool auswählt und die Fähigkeit, mit Masken (Invert, Union, Substrat) zu interagieren).

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(Rektangel, Int[][], Punkt, Punkt und Punkt)

Bearbeiten Sie die hochgeladenen Pixel.

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

Parameters

pixelsRectangle Rectangle

Die Pixel sind rectangle.

pixels int [][]

Die 32-Bit ARGB Pixel.

start Point

Wenn nicht gleich (links, oben) bedeutet, dass es nicht voll rektangle wir haben.

end Point

Wenn nicht gleich (right, bottom) bedeutet, dass es nicht voll rektangle wir haben.

Select(RasterImage und MagicWandSettings)

Erstellt eine neue Aspose.Imaging.MagicWand.ImageMasks.ImageBitMask basierend auf Aspose.Imaging.MagicWand.MagicWandSettings und Quelle Aspose.Imaging.RasterImage.

public static ImageBitMask Select(RasterImage source, MagicWandSettings settings)

Parameters

source RasterImage

Raster Bild für den Algorithmus zu arbeiten über.

settings MagicWandSettings

Einstellungen des magischen Wand-Algorithms, das bei der Erstellung von Masken verwendet wird.

Returns

ImageBitMask

Neue Aspose.Imaging.MagicWand.ImageMasks.ImageBitMask.

 Deutsch