MaskingArea

MaskingOptions.MaskingArea property

Obtient ou définit la zone de masquage.

public Rectangle MaskingArea { get; set; }

Valeur de la propriété

La zone de masquage qui est une zone partielle de l’image source. Rectangle.La valeur vide signifie une zone d’image source complète.

Exemples

Cet exemple montre comment décomposer une image raster en plusieurs images à l’aide du masquage d’image et d’un masque manuel. Le masquage d’image est une technique de traitement d’image utilisée pour séparer l’arrière-plan des objets d’image de premier plan.

[C#]

string dir = "c:\\temp\\";

// Définit un masque manuel.
Aspose.Imaging.GraphicsPath manualMask = new Aspose.Imaging.GraphicsPath();
Aspose.Imaging.Figure figure = new Aspose.Imaging.Figure();
figure.AddShape(new Aspose.Imaging.Shapes.EllipseShape(new RectangleF(50, 50, 40, 40)));
figure.AddShape(new Aspose.Imaging.Shapes.RectangleShape(new RectangleF(10, 20, 50, 30)));
manualMask.AddFigure(figure);

// Chaque cluster (segment) sera stocké dans un fichier PNG séparé.
Aspose.Imaging.ImageOptions.PngOptions exportOptions = new Aspose.Imaging.ImageOptions.PngOptions();
exportOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;
exportOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());

// Définit le masque manuel.
Aspose.Imaging.Masking.Options.ManualMaskingArgs args = new Aspose.Imaging.Masking.Options.ManualMaskingArgs();
args.Mask = manualMask;

using (RasterImage image = (RasterImage)Image.Load(dir + "Blue hills.png"))
{
    Aspose.Imaging.Masking.Options.MaskingOptions maskingOptions = new Aspose.Imaging.Masking.Options.MaskingOptions();

    // Utiliser l'algorithme de clustering manuel.
    maskingOptions.Method = Masking.Options.SegmentationMethod.Manual;

    // Toutes les formes composant un masque seront combinées en une seule. 
    maskingOptions.Decompose = false;
    maskingOptions.Args = args;

    // La couleur de fond sera orange.
    maskingOptions.BackgroundReplacementColor = Aspose.Imaging.Color.Orange;
    maskingOptions.ExportOptions = exportOptions;

    // La zone de l'image source à laquelle le masquage sera appliqué.
    maskingOptions.MaskingArea = new Rectangle(50, 50, 120, 120);

    // Crée une instance de la classe ImageMasking.
    Aspose.Imaging.Masking.ImageMasking masking = new Aspose.Imaging.Masking.ImageMasking(image);

    // Divise l'image source en plusieurs clusters (segments).
    using (Aspose.Imaging.Masking.Result.MaskingResult maskingResult = masking.Decompose(maskingOptions))
    {
        // Obtenez des images à partir du résultat de masquage et enregistrez-les au format PNG.
        for (int i = 0; i < maskingResult.Length; i++)
        {
            string outputFileName = string.Format("Blue hills.Segment{0}.png", maskingResult[i].ObjectNumber);
            using (Aspose.Imaging.Image resultImage = maskingResult[i].GetImage())
            {
                resultImage.Save(dir + outputFileName);
            }
        }
    }
}

Voir également