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)