العمل مع الصور في العروض التقديمية — Aspose.Slides FOSS for Python
Aspose.Slides FOSS for Python lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame الأشكال. يمكن أيضًا استخدام الصور كملء خلفية للأشكال عبر FillType.PICTURE.
إضافة صورة من ملف
حمّل بايتات الصورة من القرص وأضفها إلى مجموعة صور العرض التقديمي باستخدام prs.images.add_image(). ثم ضع الصورة على شريحة كـ PictureFrame:
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Add the image to the shared collection
with open("logo.png", "rb") as f:
img = prs.images.add_image(f.read())
# Place it on the slide as a PictureFrame
slide = prs.slides[0]
slide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 50, 300, 200, img)
prs.save("with-image.pptx", SaveFormat.PPTX)الأربعة معاملات الموضعية لـ add_picture_frame() هي: x, y, width, height بالنقاط.
إضافة صورة من بايتات
إذا كان لديك بالفعل بايتات صورة (مثلاً، تم تنزيلها من عنوان URL أو قرأتها من قاعدة بيانات)، فمررها مباشرة إلى add_image():
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
# Simulate having bytes in memory
with open("photo.jpg", "rb") as f:
image_bytes = f.read()
with slides.Presentation() as prs:
img = prs.images.add_image(image_bytes)
prs.slides[0].shapes.add_picture_frame(ShapeType.RECTANGLE, 100, 80, 400, 250, img)
prs.save("from-bytes.pptx", SaveFormat.PPTX)تحديد الموقع وتغيير حجم PictureFrame
ال PictureFrame المُرجَعة من add_picture_frame() يرث جميع Shape خصائص الهندسة ويمكن إعادة وضعها بعد الإنشاء:
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("photo.jpg", "rb") as f:
img = prs.images.add_image(f.read())
pf = prs.slides[0].shapes.add_picture_frame(ShapeType.RECTANGLE, 0, 0, 100, 100, img)
# Reposition and resize after creation
pf.x = 50
pf.y = 100
pf.width = 350
pf.height = 250
prs.save("positioned.pptx", SaveFormat.PPTX)استخدام صورة كملء شكل
يمكن لأي شكل (ليس فقط PictureFrame) أن يستخدم صورة كملء خلفية. تعيين fill_type = FillType.PICTURE وعيّن الصورة إلى picture_fill_format.picture.image:
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType, PictureFillMode
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("background.png", "rb") as f:
img = prs.images.add_image(f.read())
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.ROUND_CORNER_RECTANGLE, 50, 50, 400, 250)
shape.fill_format.fill_type = FillType.PICTURE
shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH
shape.fill_format.picture_fill_format.picture.image = img
prs.save("picture-fill.pptx", SaveFormat.PPTX)PictureFillMode.STRETCH يقوم بتكبير الصورة لملء الشكل بالكامل. استخدم TILE لنمط بلاط متكرر.
إضافة صور متعددة عبر الشرائح
الصور المضافة إلى prs.images مشاركة عبر جميع الشرائح. الـ Image الكائن يمكن استخدامه على شرائح متعددة دون تكرار البيانات:
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("logo.png", "rb") as f:
logo = prs.images.add_image(f.read())
# Add the same image to both slides
prs.slides[0].shapes.add_picture_frame(ShapeType.RECTANGLE, 600, 10, 100, 40, logo)
prs.save("shared-image.pptx", SaveFormat.PPTX)