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:
| معامل | نوع | الوصف |
|---|---|---|
| source | RasterImage | صورة نقطية لتعمل الخوارزمية عليها. |
| settings | MagicWandSettings | إعدادات خوارزمية العصا السحرية المستخدمة في إنشاء القناع. |
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:
| معامل | نوع | الوصف |
|---|---|---|
| pixelsRectangle | Rectangle | مستطيل البكسلات. |
| بكسلات | int[] | بكسلات ARGB 32-بت. |
| start | Point | نقطة بداية البكسلات. إذا لم تكن مساوية لـ (left,top) فهذا يعني أنها ليست مستطيلًا كاملًا. |
| end | Point | نقطة نهاية البكسلات. إذا لم تكن مساوية لـ (right,bottom) فهذا يعني أنها ليست مستطيلًا كاملًا. |