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

Το 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)

Δείτε επίσης

 Ελληνικά