Εργασία με εικόνες σε παρουσιάσεις 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.


Προσθήκη εικόνας από αρχείο

Φορτώστε bytes εικόνας από τον δίσκο και προσθέστε τα στη συλλογή εικαστικών της παρουσίασης με το 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 σε πόντους.


Προσθήκη εικόνας από Bytes

Εάν έχετε ήδη bytes εικόνας (π.χ., κατεβάστε από μια διεύθυνση 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 επιστροφή από: 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 το object μπορεί να χρησιμοποιηθεί σε πολλαπλές διαφάνειες χωρίς την επανάληψη των δεδομένων:

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)

Βλέπε επίσης:

 Ελληνικά