Darbs ar attēliem prezentācijās — Aspose.Slides FOSS for Python

Aspose.Slides FOSS for Python ļauj iekļaut attēlus prezentācijas kopējā attēlu kolekcijā un parādīt tos slaidos, izmantojot PictureFrame formas. Attēlus var arī izmantot kā formas fona aizpildījumus, izmantojot FillType.PICTURE.


Attēla pievienošana no faila

Ielādējiet attēla baitus no diska un pievienojiet tos prezentācijas attēlu kolekcijai ar prs.images.add_image(). Pēc tam novietojiet attēlu slaidā kā 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)

Četri pozicionālie argumenti add_picture_frame() ir: x, y, width, height punktos.


Pievienojot attēlu no baitiem

Ja jums jau ir attēla baiti (piemēram, lejupielādēti no URL vai nolasīti no datu bāzes), nododiet tos tieši 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 pozicionēšana un izmēru noteikšana

PictureFrame, ko atgriež add_picture_frame(), pārmanto visas Shape ģeometrijas īpašības un to var pārvietot pēc izveides:

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)

Attēla izmantošana kā formas aizpildījums

Jebkura forma (ne tikai PictureFrame) var izmantot attēlu kā fona aizpildījumu. Iestatiet fill_type = FillType.PICTURE un piešķiriet attēlu 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 maina attēla mērogu, lai aizpildītu visu formu. Izmantojiet TILE atkārtojošam flīžu rakstam.


Vairāku attēlu pievienošana visos slaidos

Attēli, kas pievienoti prs.images, tiek koplietoti visās slaidos. Tas pats Image objekts var tikt izmantots vairākos slaidos, nepārkopējot datus:

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)

Skatīt arī

 Latviešu