עבודה עם תמונות במצגות — Aspose.Slides FOSS עבור 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)

ראה גם

 עברית