Arbejde med billeder i præsentationer — Aspose.Slides FOSS for Python
Aspose.Slides FOSS for Python lader dig indlejre billeder i en præsentations delte billedsamling og vise dem på slides ved hjælp af PictureFrame former. Billeder kan også bruges som baggrundsudfyldning af former via FillType.PICTURE.
Tilføjelse af et billede fra fil
Indlæs billedbytes fra disk og tilføj dem til præsentationens billedsamling med prs.images.add_image(). Placer derefter billedet på en slide som en 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)De fire positionsargumenter til add_picture_frame() er: x, y, width, height i point.
Tilføjelse af et billede fra bytes
Hvis du allerede har billedbytes (f.eks. downloadet fra en URL eller læst fra en database), skal du videregive dem direkte til 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)Positionering og størrelsesindstilling af en PictureFrame
Den PictureFrame, der returneres af add_picture_frame(), arver alle Shape geometri‑egenskaber og kan repositioneres efter oprettelse:
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)Brug af et billede som formfyldning
Enhver form (ikke kun PictureFrame) kan bruge et billede som baggrundsudfyldning. Indstil fill_type = FillType.PICTURE og tildel billedet til 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 skalerer billedet, så det fylder hele formen. Brug TILE til et gentaget flisemønster.
Tilføjelse af flere billeder på tværs af slides
Billeder tilføjet til prs.images deles på tværs af alle slides. Det samme Image‑objekt kan bruges på flere slides uden at duplikere dataene:
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)