تنسيق أشكال PowerPoint على Android

مقدمة

في PowerPoint يمكنك إضافة أشكال إلى الشرائح. بما أن الأشكال مكوَّنة من خطوط، يمكنك تنسيقها عن طريق تعديل أو تطبيق تأثيرات على حدودها. بالإضافة إلى ذلك، يمكنك تنسيق الأشكال بتحديد الإعدادات التي تتحكم في طريقة ملء داخلها.

تنسيق الشكل في PowerPoint

توفر مكتبة Aspose.Slides for Android via Java واجهات وطرقً تتيح لك تنسيق الأشكال باستخدام نفس الخيارات المتاحة في PowerPoint.

تنسيق الخطوط

باستخدام Aspose.Slides، يمكنك تحديد نمط خط مخصص لشكل ما. الخطوات التالية توضح الإجراء:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة معينة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين line style للشكل.
  5. تعيين عرض الخط.
  6. تعيين dash style للخط.
  7. تعيين لون الخط للشكل.
  8. حفظ العرض المعدَّل كملف PPTX.

الكود التالي يوضح كيفية تنسيق شكل مستطيل AutoShape:

import com.aspose.slides.*;
import java.awt.Color;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);

    // إزالة التعبئة من شكل المستطيل بحيث تكون الخطوط فقط مرئية.
    shape.getFillFormat().setFillType(FillType.NoFill);

    // تطبيق تنسيق على خطوط المستطيل.
    shape.getLineFormat().setStyle(LineStyle.ThickThin);
    shape.getLineFormat().setWidth(7);
    shape.getLineFormat().setDashStyle(LineDashStyle.Dash);

    // تعيين اللون لخط المستطيل.
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);

    // حفظ ملف PPTX على القرص.
    presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

الخطوط المنسقة في العرض التقديمي

تطبيق تأثيرات الرسم على خطوط الشكل

تجعل تأثيرات الرسم الخط يبدو كأنه مرسوم يدويًا. استخدم IShape.getLineFormat للوصول إلى إعدادات الخط، وILineFormat.getSketchFormat للوصول إلى إعدادات الرسم، وISketchFormat.setSketchType لاختيار قيمة من تعداد LineSketchType.

الكود التالي في Java يُظهر كيفية تطبيق تأثير LineSketchType.Curved وقراءة القيمة المُعيَّنة صراحةً، وإزالة التأثير باستخدام LineSketchType.None:

import com.aspose.slides.*;

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);

    // الوصول إلى تنسيق خط الشكل وتنسيق الرسم الخاص به.
    ISketchFormat sketchFormat = shape.getLineFormat().getSketchFormat();

    // تطبيق تأثير رسم.
    sketchFormat.setSketchType(LineSketchType.Curved);

    // قراءة تأثير الرسم المعين مباشرةً إلى الشكل.
    int explicitSketchType = sketchFormat.getSketchType();
    System.out.println("Explicit sketch type: " + explicitSketchType);

    // إزالة تأثير الرسم.
    sketchFormat.setSketchType(LineSketchType.None);
} finally {
    presentation.dispose();
}

القيمة التي يُرجعها ISketchFormat.getSketchType تمثل الإعداد المعَيَّن مباشرةً إلى الشكل. إذا كان يمكن توريث تنسيق الخط من سمة أو شريحة رئيسية أو شريحة تخطيط، استخدم ILineFormat.getEffective، ثم وصول إلى ILineFormatEffectiveData.getSketchFormat، وقراءة ISketchFormatEffectiveData.getSketchType. القيمة الفعلية تعكس التنسيق المطبق فعليًا بعد حل الوراثة:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    IShape shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0);
    ILineFormat lineFormat = shape.getLineFormat();

    int explicitSketchType = lineFormat.getSketchFormat().getSketchType();
    ILineFormatEffectiveData effectiveLineFormat = lineFormat.getEffective();
    int effectiveSketchType = effectiveLineFormat.getSketchFormat().getSketchType();

    System.out.println("Explicit sketch type: " + explicitSketchType);
    System.out.println("Effective sketch type: " + effectiveSketchType);
} finally {
    presentation.dispose();
}

تنسيق أنماط التقاطع

فيما يلي ثلاثة خيارات لأنواع التقاطع:

  • Round
  • Miter
  • Bevel

افتراضيًا، عندما يقوم PowerPoint بربط خطين بزاوية (مثلًا عند زاوية الشكل)، يستخدم الإعداد Round. ومع ذلك، إذا كنت ترسم شكلًا بزوايا حادة، قد تفضّل خيار Miter.

نمط التقاطع في العرض التقديمي

الكود التالي في Java يُظهر كيف تم إنشاء ثلاثة مستطيلات (كما هو موضح في الصورة أعلاه) باستخدام إعدادات تقاطع Miter و Bevel و Round:

import com.aspose.slides.*;
import java.awt.Color;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة ثلاثة أشكال تلقائية من نوع Rectangle.
    IAutoShape shape1 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 75);
    IAutoShape shape2 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 210, 20, 150, 75);
    IAutoShape shape3 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 135, 150, 75);

    // تعيين لون التعبئة لكل شكل مستطيل.
    shape1.getFillFormat().setFillType(FillType.Solid);
    shape1.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    shape2.getFillFormat().setFillType(FillType.Solid);
    shape2.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    shape3.getFillFormat().setFillType(FillType.Solid);
    shape3.getFillFormat().getSolidFillColor().setColor(Color.BLACK);

    // تعيين عرض الخط.
    shape1.getLineFormat().setWidth(15);
    shape2.getLineFormat().setWidth(15);
    shape3.getLineFormat().setWidth(15);

    // تعيين اللون لخط كل مستطيل.
    shape1.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape1.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    shape2.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape2.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    shape3.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape3.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);

    // تعيين نمط التقاطع.
    shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
    shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
    shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);

    // إضافة نص إلى كل مستطيل.
    shape1.getTextFrame().setText("Miter Join Style");
    shape2.getTextFrame().setText("Bevel Join Style");
    shape3.getTextFrame().setText("Round Join Style");

    // حفظ ملف PPTX على القرص.
    presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

ملء تدرجي

في PowerPoint، يُعد الملء التدريجي خيار تنسيق يتيح لك تطبيق تدرج مستمر من الألوان على شكل. على سبيل المثال، يمكنك تطبيق لونين أو أكثر بطريقة يتلاشى فيها أحدهما تدريجيًا إلى الآخر.

إليك كيفية تطبيق ملء تدرجي على شكل باستخدام Aspose.Slides:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين FillType للشكل إلى Gradient.
  5. إضافة لونين مفضلين مع مواقع محددة باستخدام طرق add لمجموعة نقاط التدرج التي يوفّرها الواجهة IGradientFormat .
  6. حفظ العرض المعدَّل كملف PPTX.

الكود التالي في Java يُظهر كيفية تطبيق تأثير ملء تدرجي على إهليلج:

import com.aspose.slides.*;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Ellipse.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);

    // تطبيق تنسيق التدرج على الشكل البيضاوي.
    shape.getFillFormat().setFillType(FillType.Gradient);
    shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);

    // تعيين اتجاه التدرج.
    shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);

    // إضافة نقطتي توقف للتدرج.
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);

    // حفظ ملف PPTX على القرص.
    presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

الإهليلج مع ملء تدرجي

إذا ظهر التدرج بشكل مختلف في الصورة المُصدَّرة مقارنةً بما هو في PowerPoint، راجع القسم Choose a Gradient Rendering Style. يمكنك اختيار نمط العرض دون تغيير ملء التدرج المخزن في العرض.

ملء بنمط

في PowerPoint، يُعد ملء النمط خيار تنسيق يتيح لك تطبيق تصميم ثنائي اللون—مثل النقاط أو الخطوط أو التعرجات المتقاطعة أو المربعات—على شكل. يمكنك اختيار ألوان مخصصة للخلفية واللون الأمامي للنمط.

توفر مكتبة Aspose.Slides أكثر من 45 نمط نمط مُعرَّف مسبقًا يمكنك تطبيقه على الأشكال لتعزيز المظهر البصري لعروضك التقديمية. حتى بعد اختيار نمط مُعرَّف مسبقًا، لا يزال بإمكانك تحديد الألوان الدقيقة التي يجب استخدامها.

إليك كيفية تطبيق ملء بنمط على شكل باستخدام Aspose.Slides:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين FillType للشكل إلى Pattern.
  5. اختيار نمط نمط من الخيارات المحددة مسبقًا.
  6. تعيين Background Color للنمط.
  7. تعيين Foreground Color للنمط.
  8. حفظ العرض المعدَّل كملف PPTX.

الكود التالي في Java يُظهر كيفية تطبيق ملء بنمط على مستطيل:

import com.aspose.slides.*;
import java.awt.Color;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // ضبط نوع التعبئة إلى Pattern.
    shape.getFillFormat().setFillType(FillType.Pattern);

    // ضبط نمط النمط.
    shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);

    // ضبط لون خلفية النمط ولون المقدمة.
    shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
    shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);

    // حفظ ملف PPTX على القرص.
    presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

المستطيل مع ملء بنمط

ملء صورة

في PowerPoint، يُعد ملء الصورة خيار تنسيق يتيح لك إدراج صورة داخل شكل—وبذلك تُستخدم الصورة كخلفية للشكل.

إليك كيفية استخدام Aspose.Slides لتطبيق ملء صورة على شكل:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين FillType للشكل إلى Picture.
  5. تعيين وضع ملء الصورة إلى Tile (أو أي وضع مفضَّل آخر).
  6. إنشاء كائن IPPImage من الصورة التي تريد استخدامها.
  7. تمرير الصورة إلى طريقة ISlidesPicture.setImage.
  8. حفظ العرض المعدَّل كملف PPTX.

لنفترض أن لدينا ملف “lotus.png” بالصورة التالية:

صورة اللوتس

الكود التالي في Java يُظهر كيفية ملء شكل بالصورة:

import com.aspose.slides.*;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
    
    // ضبط نوع التعبئة إلى Picture.
    shape.getFillFormat().setFillType(FillType.Picture);

    // ضبط وضع تعبئة الصورة.
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);

    // تحميل صورة وإضافتها إلى موارد العرض التقديمي.
    IImage image = Images.fromFile("lotus.png");
    IPPImage picture = presentation.getImages().addImage(image);
    image.dispose();

    // ضبط الصورة.
    shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);

    // حفظ ملف PPTX على القرص.
    presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

الشكل مع ملء صورة

استخدام صورة متكررة كقوام

إذا أردت ضبط صورة متكررة كقوام وتخصيص سلوك التكرار، يمكنك استخدام الطرق التالية من واجهة IPictureFillFormat وفئة PictureFillFormat:

  • setPictureFillMode: يحدد وضع ملء الصورة — إما Tile أو Stretch.
  • setTileAlignment: يحدد محاذاة المربعات داخل الشكل.
  • setTileFlip: يتحكم فيما إذا كانت المربعات مقلوبة أفقيًا أو عموديًا أو كلاهما.
  • setTileOffsetX: يحدد الإزاحة الأفقية للمربّع (بالنقاط) من أصل الشكل.
  • setTileOffsetY: يحدد الإزاحة العمودية للمربّع (بالنقاط) من أصل الشكل.
  • setTileScaleX: يحدد مقياس المربّع الأفقي كنسبة مئوية.
  • setTileScaleY: يحدد مقياس المربّع العمودي كنسبة مئوية.

الكود التالي يُظهر كيفية إضافة شكل مستطيل بملء صورة متكررة وتكوين خيارات التكرار:

import com.aspose.slides.*;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide firstSlide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Rectangle.
    IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);

    // ضبط نوع التعبئة للشكل إلى Picture.
    shape.getFillFormat().setFillType(FillType.Picture);

    // تحميل الصورة وإضافتها إلى موارد العرض التقديمي.
    IImage sourceImage = Images.fromFile("lotus.png");
    IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
    sourceImage.dispose();

    // إسناد الصورة إلى الشكل.
    IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
    pictureFillFormat.getPicture().setImage(presentationImage);

    // تكوين وضع تعبئة الصورة وخصائص التكرار.
    pictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
    pictureFillFormat.setTileOffsetX(-32);
    pictureFillFormat.setTileOffsetY(-32);
    pictureFillFormat.setTileScaleX(50);
    pictureFillFormat.setTileScaleY(50);
    pictureFillFormat.setTileAlignment(RectangleAlignment.BottomRight);
    pictureFillFormat.setTileFlip(TileFlip.FlipBoth);

    // حفظ ملف PPTX على القرص.
    presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

خيارات التكرار

ملء بلون صلب

في PowerPoint، يُعد ملء اللون الصلب خيار تنسيق يملأ الشكل بلون موحد واحد. يُطبَّق هذا اللون الخلفي ببساطة دون أي تدرجات أو قوام أو أنماط.

لتطبيق ملء بلون صلب على شكل باستخدام Aspose.Slides، اتبع الخطوات التالية:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين FillType للشكل إلى Solid.
  5. تعيين لون التعبئة المفضل للشكل.
  6. حفظ العرض المعدَّل كملف PPTX.

الكود التالي في Java يُظهر كيفية تطبيق ملء بلون صلب على مستطيل في شريحة PowerPoint:

import com.aspose.slides.*;
import java.awt.Color;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // ضبط نوع التعبئة إلى Solid.
    shape.getFillFormat().setFillType(FillType.Solid);

    // ضبط لون التعبئة.
    shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);

    // حفظ ملف PPTX على القرص.
    presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

الشكل مع ملء بلون صلب

تعيين الشفافية

في PowerPoint، عند تطبيق لون صلب أو تدرجي أو صورة أو قوام كملء للأشكال، يمكنك أيضًا ضبط مستوى الشفافية للتحكم في مدى وضوح التعبئة. كلما ارتفعت قيمة الشفافية، يصبح الشكل أكثر شفافية، مما يسمح برؤية الخلفية أو العناصر الموجودة تحته جزئيًا.

تتيح لك Aspose.Slides ضبط مستوى الشفافية عبر تعديل قيمة alpha في اللون المستخدم للملء. إليك الطريقة:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين FillType إلى Solid.
  5. استخدام Color لتحديد لون مع شفافية (المكون alpha يتحكم في الشفافية).
  6. حفظ العرض.

الكود التالي في Java يُظهر كيفية تطبيق لون تعبئة شفاف على مستطيل:

import com.aspose.slides.*;
import java.awt.Color;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل مستطيل صلب تلقائي.
    IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // إضافة شكل مستطيل شفاف فوق الشكل الصلب.
    IAutoShape transparentShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 80, 80, 150, 75);
    transparentShape.getFillFormat().setFillType(FillType.Solid);
    transparentShape.getFillFormat().getSolidFillColor().setColor(new Color(255, 255, 0, 204));

    // حفظ ملف PPTX على القرص.
    presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

الشكل الشفاف

دوران الأشكال

تتيح لك Aspose.Slides تدوير الأشكال في عروض PowerPoint. قد يكون ذلك مفيدًا عند موضع العناصر البصرية وفقًا لتصاميم أو محاذاة معينة.

لتدوير شكل على شريحة، اتبع الخطوات التالية:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تعيين خاصية الدوران للشكل إلى الزاوية المطلوبة.
  5. حفظ العرض.

الكود التالي في Java يُظهر كيفية تدوير شكل بمقدار 5 درجات:

import com.aspose.slides.*;

// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
    // الحصول على الشريحة الأولى.
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل تلقائي من نوع Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // تدوير الشكل بمقدار 5 درجات.
    shape.setRotation(5);

    // حفظ ملف PPTX على القرص.
    presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

دوران الشكل

إضافة تأثيرات حافة ثلاثية الأبعاد

تسمح لك Aspose.Slides بتطبيق تأثيرات حافة ثلاثية الأبعاد على الأشكال عبر تكوين خصائص ThreeDFormat الخاصة بها.

لإضافة تأثيرات حافة ثلاثية الأبعاد إلى شكل، اتبع الخطوات التالية:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. تكوين ThreeDFormat للشكل لتحديد إعدادات الحافة.
  5. حفظ العرض.

الكود التالي في Java يوضح كيفية تطبيق تأثيرات حافة ثلاثية الأبعاد على شكل:

import com.aspose.slides.*;
import java.awt.Color;

// إنشاء نسخة من فئة Presentation.
Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    // إضافة شكل إلى الشريحة.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 100, 100);
    shape.getFillFormat().setFillType(FillType.Solid);
    shape.getFillFormat().getSolidFillColor().setColor(Color.GREEN);
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
    shape.getLineFormat().setWidth(2.0);

    // ضبط خصائص ThreeDFormat للشكل.
    shape.getThreeDFormat().setDepth(4);
    shape.getThreeDFormat().getBevelTop().setBevelType(BevelPresetType.Circle);
    shape.getThreeDFormat().getBevelTop().setHeight(6);
    shape.getThreeDFormat().getBevelTop().setWidth(6);
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.ThreePt);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);

    // حفظ العرض التقديمي كملف PPTX.
    presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

تأثير الحافة ثلاثية الأبعاد

إضافة تأثيرات دوران ثلاثية الأبعاد

تسمح لك Aspose.Slides بتطبيق تأثيرات دوران ثلاثية الأبعاد على الأشكال عبر تكوين خصائص ThreeDFormat الخاصة بها.

لتطبيق دوران ثلاثي الأبعاد على شكل:

  1. إنشاء نسخة من الفئة Presentation .
  2. الحصول على مرجع إلى شريحة وفقًا لمؤشرها.
  3. إضافة IAutoShape إلى الشريحة.
  4. استخدام setCameraType و setLightType لتحديد دوران ثلاثي الأبعاد.
  5. حفظ العرض.

الكود التالي في Java يُظهر كيفية تطبيق تأثيرات دوران ثلاثية الأبعاد على شكل:

import com.aspose.slides.*;

// إنشاء نسخة من فئة Presentation.
Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
    autoShape.getTextFrame().setText("Hello, Aspose!");

    autoShape.getThreeDFormat().setDepth(6);
    autoShape.getThreeDFormat().getCamera().setRotation(40, 35, 20);
    autoShape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.IsometricLeftUp);
    autoShape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced);

    // حفظ العرض التقديمي كملف PPTX.
    presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

النتيجة:

تأثير الدوران ثلاثي الأبعاد

التحكم في العرض بالأبيض والأسود للأشكال

تحدد الطريقة IShape.setBlackWhiteMode كيفية عرض شكل فردي عندما يتم عرض أو معالجة العرض في وضع الأبيض والأسود. لا تُفعِّل هذه الطريقة العرض بالأبيض والأسود بحد ذاتها، ولا تُغيّر ملء الشكل أو خطه أو تنسيقه في وضع اللون العادي.

استخدم قيمة من فئة BlackWhiteMode لتحديد السلوك المطلوب. على سبيل المثال، Automatic يترك تطبيق العرض يختار التحويل، وGray وLightGray يستخدمان اللون الرمادي، وBlackWhite يستخدم فقط الأسود والأبيض، وBlack وWhite يفرضان لونًا موحدًا، وColor يحافظ على الألوان العادية، وHidden يخفي الشكل في وضع الأبيض والأسود. NotDefined يعني أنه لم يتم تعيين وضع على مستوى الشكل.

الكود التالي في Java ينشئ شكلًا ملونًا ويجعله يظهر باللون الرمادي في وضع العرض بالأبيض والأسود:

import com.aspose.slides.*;
import android.graphics.Color;

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
    shape.getFillFormat().setFillType(FillType.Solid);
    shape.getFillFormat().getSolidFillColor().setColor(Color.rgb(255, 165, 0));

    // حافظ على تعبئة اللون البرتقالي في وضع الألوان، ولكن اعرض الشكل بلون رمادي في وضع الأبيض والأسود.
    shape.setBlackWhiteMode(BlackWhiteMode.Gray);

    presentation.save("shape_black_white_mode.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

في وضع اللون العادي، يحتفظ المستطيل بملئه البرتقالي. في سير عمل عرض بالأبيض والأسود، يستخدم اللون الرمادي لأن وضعه مضبوط على Gray. يتيح لك ذلك الاحتفاظ بشريحة ملونة بالكامل مع تحديد مظهر مميز للطباعة أو المعاينة أو أي سير عمل يحترم إعدادات العرض بالأبيض والأسود للعرض.

إعادة ضبط التنسيق

الكود التالي في Java يُظهر كيفية إعادة ضبط تنسيق شريحة وإرجاع الموضع والحجم وتنسيق جميع الأشكال ذات العناصر النائبة على LayoutSlide إلى الإعدادات الافتراضية:

import com.aspose.slides.*;

Presentation presentation = new Presentation("sample.pptx");
try {
    for (ISlide slide : presentation.getSlides()) {
        // إعادة تعيين كل شكل على الشريحة الذي يحتوي على عنصر نائب في التخطيط.
        slide.reset();
    }
    presentation.save("reset_formatting.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

الأسئلة الشائعة

هل يؤثر تنسيق الشكل على حجم الملف النهائي للعرض؟

التأثير ضئيل فقط. تشغل الصور والوسائط المضمَّنة معظم مساحة الملف، بينما تُخزَّن معلمات الشكل مثل الألوان والتأثيرات والتدرجات كبيانات وصفية ولا تضيف حجمًا كبيرًا.

كيف يمكنني اكتشاف الأشكال في شريحة التي تشترك في تنسيق متطابق لتجميعها؟

قارن خصائص التنسيق الرئيسية لكل شكل—الإعدادات الخاصة بالملء، الخط، والتأثير. إذا تطابقت جميع القيم، اعتبر أن أنماطه متماثلة وقم بتجميع تلك الأشكال منطقياً، مما يبسط إدارة الأنماط لاحقًا.

هل يمكنني حفظ مجموعة من أنماط الشكل المخصصة في ملف منفصل لإعادة استخدامها في عروض أخرى؟

نعم. احفظ الأشكال النموذجية ذات الأنماط المطلوبة في شريحة قالب أو ملف قالب .POTX. عند إنشاء عرض جديد، افتح القالب، استنسخ الأشكال المنسقة التي تحتاجها، وطبق تنسيقها حيثما يلزم.