الفئة RectangleMask

RectangleMask class

يصف قناعًا مستطيلًا.

public class RectangleMask : ImageMask

المنشئات

الاسمالوصف
RectangleMask(Rectangle)ينشئ مثيلًا جديدًا للفئة RectangleMask باستخدام المستطيل المحدد.
RectangleMask(int, int, int, int)ينشئ مثيلًا جديدًا للفئة RectangleMask باستخدام النقطة اليسرى العليا المحددة، والعرض والارتفاع.

الخصائص

الاسمالوصف
Bounds { get; }يحصل على حدود هذا القناع، بوحدات البكسل.
Height { get; }يحصل على ارتفاع هذا القناع، بوحدات البكسل.
override Item { get; }يحصل على شفافية البكسل المحدد.
override SelectionBounds { get; }يحصل على حدود الجزء المحدد من القناع، بوحدات البكسل.
Source { get; }يحصل على صورة المصدر المستخدمة لإنشاء هذا القناع، إذا وجدت.
Width { get; }يحصل على عرض هذا القناع، بوحدات البكسل.

الطرق

الاسمالوصف
Apply()يطبق القناع الحالي على مصدر RasterImage إذا كان موجودًا.
ApplyTo(RasterImage)يطبق القناع الحالي على RasterImage المحدد.
override Clone()ينشئ كائنًا جديدًا يكون نسخة من النسخة الحالية.
override Crop(Rectangle)يقص القناع بالمستطيل المحدد.
Crop(Size)يقص القناع بالحجم المحدد.
Crop(int, int)يقص القناع بالعرض والارتفاع المحددين.
ExclusiveDisjunction(ImageMask)يحصل على الفرق الحصري بين القناع الحالي والمقدم.
ExclusiveDisjunction(MagicWandSettings)يحصل على الفرق الحصري بين القناع الحالي ونتيجة اختيار العصا السحرية المطبقة على مصدر القناع.
ExclusiveDisjunction(RasterImage, MagicWandSettings)يحصل على الفرق الحصري بين القناع الحالي ونتيجة اختيار العصا السحرية المطبقة على الصورة المقدمة.
GetByteOpacity(int, int)يحصل على شفافية البكسل المحدد بدقة بايت.
GetFeathered(FeatheringSettings)يحصل على قناع رمادي مع تمويه الحدود وفق الإعدادات المحددة.
override Inflate(int)يوسع هذا القناع بالمقدار المحدد.
Intersect(ImageMask)يحصل على تقاطع القناع الحالي مع المقدم.
Intersect(MagicWandSettings)يحصل على تقاطع القناع الحالي مع نتيجة اختيار العصا السحرية المطبقة على مصدر القناع.
Intersect(RasterImage, MagicWandSettings)يحصل على تقاطع القناع الحالي مع نتيجة تحديد العصا السحرية المطبقة على الصورة المقدمة.
Invert()يحصل على عكس القناع الحالي.
IsOpaque(int, int)يتحقق مما إذا كان البكسل المحدد معتمًا.
IsTransparent(int, int)يتحقق مما إذا كان البكسل المحدد شفافًا.
Subtract(ImageMask)يحصل على طرح القناع المقدم من القناع الحالي.
Subtract(MagicWandSettings)يحصل على نتيجة تحديد العصا السحرية المطبقة على مصدر القناع الحالي مطروحًا من القناع.
Subtract(RasterImage, MagicWandSettings)يحصل على نتيجة تحديد العصا السحرية المطبقة على الصورة المقدمة مطروحًا من القناع الحالي.
Union(ImageMask)يحصل على اتحاد القناع الحالي مع القناع المقدم.
Union(MagicWandSettings)يحصل على اتحاد القناع الحالي مع نتيجة تحديد العصا السحرية المطبقة على مصدر القناع.
Union(RasterImage, MagicWandSettings)يحصل على اتحاد القناع الحالي مع نتيجة تحديد العصا السحرية المطبقة على الصورة المقدمة.

أمثلة

يوضح المثال كيفية تحديد منطقة معقدة من صورة باستخدام أداة العصا السحرية والقدرة على التفاعل مع الأقنعة (عكس، اتحاد، طرح).

[C#]

var imageFilePath = "input.png"; 
using (RasterImage image = (RasterImage)Image.Load(inputFilePath))
{
    // أنشئ قناعًا جديدًا باستخدام أداة العصا السحرية بناءً على درجة اللون ولون البكسل (845, 128).
    MagicWandTool.Select(image, new MagicWandSettings(845, 128))
        // اتحاد القناع الموجود مع القناع المحدد الذي تم إنشاؤه بأداة العصا السحرية.
        .Union(new MagicWandSettings(416, 387))
        // اعكس القناع الموجود.
        .Invert()
        // اطرح القناع المحدد الذي تم إنشاؤه بأداة العصا السحرية مع العتبة المحددة من القناع الموجود.
        .Subtract(new MagicWandSettings(1482, 346) { Threshold = 69 })
        // اطرح أربعة أقنعة مستطيلة محددة من القناع الموجود واحدةً تلو الأخرى.
        .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))
        // تنعيم القناع بالإعدادات المحددة.
        .GetFeathered(new FeatheringSettings() { Size = 3 })
        // طبق القناع على الصورة.
        .Apply();
        
    // احفظ الصورة.
    image.Save(outputFilePath);
}

انظر أيضًا