MagicWandTool

Inheritance: java.lang.Object

All Implemented Interfaces: com.aspose.imaging.IPartialArgb32PixelLoader

public class MagicWandTool implements IPartialArgb32PixelLoader

الفئة للمنطق الرئيسي لخوارزمية magic wand.

الطرق

طريقةالوصف
select(RasterImage source, MagicWandSettings settings)ينشئ قناع بت جديد ImageBitMask بناءً على MagicWandSettings وصورة المصدر RasterImage.
process(Rectangle pixelsRectangle, int[] pixels, Point start, Point end)يعالج البكسلات المحملة.

Example: The example shows how to select a simple area of an image based on tone and color of any pixel using Magic Wand tool.

String imageFilePath = "input.png";
String outputFilePath = "masked.png";
try (RasterImage image = (RasterImage)Image.load(imageFilePath))
{
    // أنشئ قناعًا جديدًا باستخدام أداة العصا السحرية بناءً على نغمة ولون البكسل (120, 100) مع عتبة مخصصة تساوي 150
    MagicWandTool
            .select(image, new MagicWandSettings(120, 100) {{ setThreshold(150); }})
            // طبق القناع على الصورة
            .apply();

    // احفظ الصورة مع خيار نوع لون الشفافية القسري
    image.save(outputFilePath, new PngOptions()
    {{
        setColorType(PngColorType.TruecolorWithAlpha);
    }});
}

Example: The example shows how to select a complicated area of an image using Magic Wand tool and the ability to interact with masks (invert, union, subtract).

String imageFilePath = "input.png";
String outputFilePath = "masked-complex.png";
try (RasterImage image = (RasterImage)Image.load(imageFilePath))
{
    // أنشئ قناعًا جديدًا باستخدام أداة العصا السحرية بناءً على نغمة ولون البكسل (845, 128)
    MagicWandTool.select(image, new MagicWandSettings(845, 128))
            // ادمج القناع الحالي مع القناع المحدد الذي تم إنشاؤه بأداة العصا السحرية
            .union(new MagicWandSettings(416, 387))
            // اعكس القناع الحالي
            .invert()
            // اطرح القناع المحدد الذي تم إنشاؤه بأداة العصا السحرية مع العتبة المحددة من القناع الحالي
            .subtract(new MagicWandSettings(1482, 346) {{ setThreshold(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() {{ setSize(3); }})
            // طبق القناع على الصورة
            .apply();

    // احفظ الصورة
    image.save(outputFilePath);
}

select(RasterImage source, MagicWandSettings settings)

public static ImageBitMask select(RasterImage source, MagicWandSettings settings)

ينشئ قناع بت جديد ImageBitMask بناءً على MagicWandSettings وصورة المصدر RasterImage.

Parameters:

معاملنوعالوصف
sourceRasterImageصورة نقطية لتعمل الخوارزمية عليها.
settingsMagicWandSettingsإعدادات خوارزمية العصا السحرية المستخدمة في إنشاء القناع.

Returns: ImageBitMask - New ImageBitMask.

process(Rectangle pixelsRectangle, int[] pixels, Point start, Point end)

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

يعالج البكسلات المحملة.

Parameters:

معاملنوعالوصف
pixelsRectangleRectangleمستطيل البكسلات.
بكسلاتint[]بكسلات ARGB 32-بت.
startPointنقطة بداية البكسلات. إذا لم تكن مساوية لـ (left,top) فهذا يعني أنها ليست مستطيلًا كاملًا.
endPointنقطة نهاية البكسلات. إذا لم تكن مساوية لـ (right,bottom) فهذا يعني أنها ليست مستطيلًا كاملًا.