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

توفر Aspose.Slides for Java واجهات وطرق تُتيح لك تنسيق الأشكال باستخدام نفس الخيارات المتاحة في PowerPoint.
تنسيق الخطوط
باستخدام Aspose.Slides، يمكنك تحديد نمط خط مخصص لشكل ما. الخطوات التالية توضح الإجراء:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط line style للشكل.
- تحديد عرض الخط.
- تحديد dash style للخط.
- ضبط لون الخط للشكل.
- حفظ العرض المعدل كملف PPTX.
الشفرة التالية توضح كيفية تنسيق مستطيل AutoShape:
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.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:
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. القيمة الفعّالة تعكس التنسيق المطبق فعلياً بعد حل الوراثة:
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();
}
تنسيق أنماط الوصلات
إليك ثلاثة خيارات لأنواع الوصلات:
- مستديرة
- زاوية حادة
- مائلة
بشكل افتراضي، عندما يربط PowerPoint خطين بزاوية (مثل زاوية الشكل)، يستخدم إعداد مستديرة. ومع ذلك، إذا كنت ترسم شكلاً بزاوئ حادة، قد تفضّل خيار زاوية حادة.

الشفرة التالية بلغة Java تُظهر كيف تم إنشاء ثلاثة مستطيلات (كما هو موضح في الصورة أعلاه) باستخدام إعدادات نوع الوصلة زاوية حادة، مائلة، ومستديرة:
import com.aspose.slides.*;
import java.awt.Color;
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
// الحصول على الشريحة الأولى.
ISlide slide = presentation.getSlides().get_Item(0);
// إضافة ثلاثة أشكال تلقائية من نوع المستطيل.
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:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط FillType للشكل إلى
Gradient. - إضافة اللونين المفضلين لديك مع تحديد المواضع باستخدام طرق
addلمجموعة نقاط التوقف المتدرجة المتوفرة عبر واجهة IGradientFormat. - حفظ العرض المعدل كملف PPTX.
الشفرة التالية بلغة Java تُظهر كيفية تطبيق تأثير تعبئة متدرجة على إهليلج:
import com.aspose.slides.*;
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
// الحصول على الشريحة الأولى.
ISlide slide = presentation.getSlides().get_Item(0);
// إضافة شكل تلقائي من نوع الإهليلج.
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، تُتيح تعبئة بنمط لك تطبيق تصميم مكوّن من لونين—مثل النقاط أو الخطوط أو التعرجات أو الشيكات—على الشكل. يمكنك اختيار ألوان مخصصة لخلفية النمط ومقدّمته.
توفر Aspose.Slides أكثر من 45 نمطًا مسبقًا يمكنك تطبيقها على الأشكال لتحسين المظهر البصري لعروضك. حتى بعد اختيار نمط مسبق، ما زال بإمكانك تحديد الألوان الدقيقة التي سيستخدمها.
إليك كيفية تطبيق تعبئة بنمط على شكل باستخدام Aspose.Slides:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط FillType للشكل إلى
Pattern. - اختيار نمط النمط من الخيارات المسبقة.
- ضبط Background Color للنمط.
- ضبط Foreground Color للنمط.
- حفظ العرض المعدل كملف PPTX.
الشفرة التالية بلغة 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.Rectangle, 50, 50, 150, 75);
// تعيين نوع التعبئة إلى نمط.
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 لتطبيق تعبئة بصورة على شكل:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط FillType للشكل إلى
Picture. - ضبط وضع تعبئة الصورة إلى
Tile(أو أي وضع مفضل آخر). - إنشاء كائن IPPImage من الصورة التي تريد استخدامها.
- تمرير الصورة إلى طريقة
ISlidesPicture.setImage. - حفظ العرض المعدل كملف PPTX.
لنفترض أن لدينا ملف “lotus.png” بالصورة التالية:

الشفرة التالية بلغة Java تُظهر كيفية تعبئة شكل بالصورة:
import com.aspose.slides.*;
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
// الحصول على الشريحة الأولى.
ISlide slide = presentation.getSlides().get_Item(0);
// إضافة شكل تلقائي من نوع المستطيل.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
// تعيين نوع التعبئة إلى صورة.
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);
// إضافة شكل تلقائي مستطيل.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// تعيين نوع التعبئة للشكل إلى صورة.
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، اتبع الخطوات التالية:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط FillType للشكل إلى
Solid. - تعيين اللون المملوء المفضّل للشكل.
- حفظ العرض المعدل كملف PPTX.
الشفرة التالية بلغة Java تُظهر كيفية تطبيق تعبئة بلون صلب على مستطيل في شريحة PowerPoint:
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.Rectangle, 50, 50, 150, 75);
// تعيين نوع التعبئة إلى صلب.
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 في اللون المستخدم للتعبئة. إليك الطريقة:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط FillType إلى
Solid. - استخدام
Colorلتعريف لون مع شفافية (المكوّنalphaيتحكم في الشفافية). - حفظ العرض.
الشفرة التالية بلغة 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. قد يكون هذا مفيدًا عند ترتيب العناصر البصرية بمواضع أو تصاميم محددة.
لتدوير شكل على شريحة، اتبع الخطوات التالية:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- ضبط خاصية تدوير الشكل إلى الزاوية المطلوبة.
- حفظ العرض.
الشفرة التالية بلغة Java تُظهر كيفية تدوير شكل بزاوية 5 درجات:
import com.aspose.slides.*;
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
Presentation presentation = new Presentation();
try {
// الحصول على الشريحة الأولى.
ISlide slide = presentation.getSlides().get_Item(0);
// إضافة شكل تلقائي من نوع المستطيل.
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();
}
النتيجة:

إضافة تأثيرات ب bevel ثلاثي الأبعاد
يتيح لك Aspose.Slides تطبيق تأثيرات bevel ثلاثية الأبعاد على الأشكال عن طريق تكوين خصائص ThreeDFormat.
لإضافة تأثيرات bevel ثلاثية الأبعاد إلى شكل، اتبع الخطوات التالية:
- إنشاء نسخة من فئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- تكوين ThreeDFormat لتحديد إعدادات bevel.
- حفظ العرض.
الشفرة التالية بلغة Java تُظهر كيفية تطبيق تأثيرات bevel ثلاثية الأبعاد على شكل:
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.
لتطبيق تدوير ثلاثي الأبعاد على شكل:
- إنشاء نسخة من فئة Presentation.
- الحصول على مرجع إلى شريحة بواسطة فهرستها.
- إضافة IAutoShape إلى الشريحة.
- استخدم setCameraType وsetLightType لتحديد التدوير ثلاثي الأبعاد.
- حفظ العرض.
الشفرة التالية بلغة 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 java.awt.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.ORANGE);
// الاحتفاظ بملء اللون البرتقالي في وضع الألوان، لكن عرض الشكل بتلوين رمادي في وضع الأبيض والأسود.
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. عند إنشاء عرض جديد، افتح القالب، استنسخ الأشكال المنسّقة التي تحتاجها، وأعد تطبيق تنسيقها حسب الحاجة.