إضافة إطارات صور إلى العروض التقديمية باستخدام Python
المقدمة
تسمح إطارات الصور في Aspose.Slides for Python بوضع وإدارة الصور النقطية والمتجهة كأشكال شريحة أصلية. يمكنك إدراج الصور من ملفات أو تدفقات، وتحديد موضعها وإعادة تحجيمها باستخدام إحداثيات دقيقة، وتطبيق الدوران، وضبط الشفافية، والتحكم في ترتيب الـ z إلى جانب الأشكال الأخرى. تدعم API أيضًا القص، والحفاظ على نسب الأبعاد، وتعيين الحدود والتأثيرات، واستبدال الصورة الأساسية دون إعادة بناء التخطيط. لأن إطارات الصور تتصرف كالأشكال العادية، يمكنك إضافة الرسوم المتحركة، والارتباطات التشعبية، والنص البديل، مما يجعل بناء عروض تقديمية بصريًا غنيًا ومتاحة بسهولة.
إنشاء إطارات صور
توضح هذه الفقرة كيفية إدراج صورة في شريحة عن طريق إنشاء PictureFrame باستخدام Aspose.Slides for Python. ستتعلم كيفية تحميل الصورة، وضعها بدقة على الشريحة، والتحكم في حجمها وتنسيقها.
- إنشاء مثيل من الفئة Presentation.
- الحصول على شريحة بواسطة فهارسها.
- إنشاء كائن PPImage بإضافة الصورة إلى ImageCollection الخاص بالعرض. ستُستخدم هذه الصورة لملء الشكل.
- تحديد عرض وارتفاع الإطار.
- إنشاء PictureFrame بهذا الحجم باستخدام طريقة add_picture_frame.
- حفظ العرض كملف PPTX.
الكود التالي بلغة Python يوضح كيفية إنشاء إطار صورة:
import aspose.slides as slides
# إنشاء كائن من فئة Presentation لتمثيل ملف PPTX.
with slides.Presentation() as presentation:
# الحصول على الشريحة الأولى.
slide = presentation.slides[0]
# إضافة الصورة إلى العرض.
with open("image.jpeg", "rb") as image_stream:
image = presentation.images.add_image(image_stream)
# إضافة إطار صورة بحجم الصورة.
picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image)
# حفظ العرض بصيغة PPTX.
presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX)
إنشاء إطارات صور مع مقياس نسبي
توضح هذه الفقرة وضع صورة بحجم ثابت، ثم تطبيق مقياس نسبي بناءً على النسبة المئوية للعرض والارتفاع بشكل مستقل. نظرًا لأن النسب قد تختلف، يمكن أن تتغير نسبة الأبعاد. يتم تنفيذ المقياس نسبةً إلى أبعاد الصورة الأصلية.
- إنشاء مثيل من الفئة Presentation.
- الحصول على شريحة بواسطة فهارسها.
- إنشاء كائن PPImage بإضافة الصورة إلى ImageCollection.
- إضافة PictureFrame إلى الشريحة.
- ضبط العرض والارتفاع النسبيين لإطار الصورة.
- حفظ العرض كملف PPTX.
الكود التالي بلغة Python يوضح كيفية إنشاء إطار صورة بمقياس نسبي:
import aspose.slides as slides
# إنشاء كائن من فئة Presentation لتمثيل ملف PPTX.
with slides.Presentation() as presentation:
# الحصول على الشريحة الأولى.
slide = presentation.slides[0]
# إضافة الصورة إلى مجموعة صور العرض.
with open("image.jpeg", "rb") as image_stream:
image = presentation.images.add_image(image_stream)
# إضافة إطار صورة إلى الشريحة.
picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image)
# ضبط العرض والارتفاع النسبيين للمقياس.
picture_frame.relative_scale_height = 0.8
picture_frame.relative_scale_width = 1.35
# حفظ العرض.
presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX)
استخراج صور نقطية من إطارات الصور
يمكنك استخراج الصور النقطية من كائنات PictureFrame وحفظها بصيغ PNG أو JPG أو صيغ أخرى. يوضح المثال البرمجي أدناه كيفية استخراج صورة من المستند “sample.pptx” وحفظها بصيغة PNG.
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
first_slide = presentation.slides[0]
first_shape = first_slide.shapes[0]
if isinstance(first_shape, slides.PictureFrame):
image = first_shape.picture_format.picture.image.image
image.save("slide_1_shape_1.png", slides.ImageFormat.PNG)
استخراج صور SVG من إطارات الصور
عند احتواء عرض تقديمي على رسومات SVG موضوعة داخل أشكال PictureFrame، يتيح Aspose.Slides for Python عبر .NET استرداد الصور المتجهة الأصلية بجودة كاملة. من خلال استعراض مجموعة الأشكال في الشريحة، يمكنك تحديد كل PictureFrame، والتحقق مما إذا كان PPImage الأساسي يحتوي على محتوى SVG، ثم حفظ تلك الصورة إلى القرص أو تدفق في صيغتها الأصلية SVG.
الكود التالي يوضح كيفية استخراج صورة SVG من إطار صورة:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
shape = slide.shapes[0]
if isinstance(shape, slides.PictureFrame):
svg_image = shape.picture_format.picture.image.svg_image
if svg_image is not None:
with open("output.svg", "w", encoding="utf-8") as svg_stream:
svg_stream.write(svg_image.svg_content)
الحصول على شفافية الصورة
يسمح Aspose.Slides لك باسترجاع تأثير الشفافية المطبق على صورة. يوضح الكود التالي بلغة Python العملية:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
picture_frame = presentation.slides[0].shapes[0]
image_transform = picture_frame.picture_format.picture.image_transform
for effect in image_transform:
if isinstance(effect, slides.effects.AlphaModulateFixed):
transparency_value = 100 - effect.amount
print("Picture transparency: " + str(transparency_value))
تنسيق إطار الصورة
يوفر Aspose.Slides العديد من خيارات التنسيق التي يمكنك تطبيقها على إطار صورة. باستخدام هذه الخيارات، يمكنك تعديل إطار الصورة لتلبية متطلبات معينة.
- إنشاء مثيل من الفئة Presentation.
- الحصول على شريحة بواسطة فهارسها.
- إنشاء كائن PPImage بإضافة الصورة إلى ImageCollection. ستُستخدم هذه الصورة لملء الشكل.
- تحديد عرض وارتفاع الإطار.
- إنشاء PictureFrame بهذا الحجم باستخدام طريقة add_picture_frame الخاصة بالشريحة.
- تعيين لون خط إطار الصورة.
- تعيين عرض خط إطار الصورة.
- تدوير إطار الصورة بتوفير قيمة موجبة (مع اتجاه عقارب الساعة) أو سالبة (عكس اتجاه عقارب الساعة).
- حفظ العرض المعدل كملف PPTX.
الكود التالي بلغة Python يوضح عملية تنسيق إطار الصورة:
{{f04