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
Implements
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
Neue Aspose.Imaging.MagicWand.ImageMasks.ImageBitMask.