Arbeiten mit Bildern in Präsentationen Aspose.Slides FOSS für Python

Aspose.Slides FOSS for Python lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame Bilder können auch als Form Hintergrund füllt über die FillType.PICTURE.


Ein Bild aus einer Datei hinzufügen

Laden Sie Bildbyte von der Festplatte und fügen sie zur Präsentationsbild-Sammlung mit prs.images.add_image().Dann platzieren Sie das Bild auf einer Folie als eine 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)

Die vier Positionsargumente für die add_picture_frame() sind: x, y, width, height in Punkten.


Hinzufügen eines Bildes aus Bytes

Wenn Sie bereits Bildbyte haben (z. B. von einer URL heruntergeladen oder aus einer Datenbank gelesen), geben Sie sie direkt an die 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)

Positionierung und Größe eines Bildrahmens

Die PictureFrame zurückgegeben von: add_picture_frame() Erbt alle Shape Geometrie-Eigenschaften und kann nach der Erstellung neu positioniert werden:

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)

Ein Bild als Formfüllung zu verwenden

Jede Form (nicht nur PictureFrame) kann ein Bild als Hintergrundfüllung verwenden. Setzen Sie die Schnittstelle für das Bild, um den Hundertspiel zu erstellen. fill_type = FillType.PICTURE und das Bild zuzuordnen, um die 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 Das Bild wird so skaliert, dass es die gesamte Form füllt. TILE für ein sich wiederholendes Fliesenmuster.


Mehrfache Bilder auf Dias hinzufügen

Bilder hinzugefügt zu prs.images Die gleichen Daten werden über alle Bilder geteilt. Image Objekt kann auf mehreren Dias verwendet werden, ohne die Daten zu duplizieren:

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)

Siehe auch:

 Deutsch