Kaip pridėti paveikslėlius į PowerPoint skaidres naudojant Python
Aspose.Slides FOSS paveikslai yra įterpiami kaip paveikslų rėmai, formos, kurios talpina paveikslą ir gali būti pozicionuojamos, keičiamas dydis ir stilizuojamos kaip bet kuri kita forma. Paveikslo duomenys saugomi vieną kartą prs.images kolekcijoje ir yra nuorodojami rėmo.
Būtinosios sąlygos
pip install aspose-slides-fossPridėti paveikslėlį iš failo
from aspose.slides_foss import ShapeType, PictureFillMode
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Load image into the presentation's image collection
with open("photo.jpg", "rb") as f:
img = prs.images.add_image(f.read())
# Add a picture frame at (x=50, y=50, width=400, height=300) in points
frame = slide.shapes.add_picture_frame(
ShapeType.RECTANGLE,
50, 50, 400, 300,
img,
)
prs.save("with-image.pptx", SaveFormat.PPTX)add_picture_frame parašas:
add_picture_frame(shape_type, x, y, width, height, image) → PictureFrameVisi matmenys yra taškais (1 taškas = 1/72 colio). Standartinei 13.33 × 7.5 colio skaidrei koordinačių erdvė yra 960 × 540 taškų.
Pridėti paveikslėlį iš baitų
Jei jau turite paveikslėlį baitais (pvz., atsisiųstą iš URL arba perskaitytą iš duomenų bazės):
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
image_bytes = open("logo.png", "rb").read() # or any bytes source
with slides.Presentation() as prs:
img = prs.images.add_image(image_bytes)
prs.slides[0].shapes.add_picture_frame(
ShapeType.RECTANGLE,
200, 100, 300, 200,
img,
)
prs.save("logo-slide.pptx", SaveFormat.PPTX)Valdyti užpildymo režimą
picture_fill_format ant PictureFrame valdo, kaip vaizdas užpildo kadro ribas:
from aspose.slides_foss import ShapeType, PictureFillMode
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
img = prs.images.add_image(open("texture.png", "rb").read())
frame = prs.slides[0].shapes.add_picture_frame(
ShapeType.RECTANGLE, 50, 50, 600, 350, img
)
# STRETCH: scale image to fill the frame exactly (default)
frame.picture_format.picture_fill_mode = PictureFillMode.STRETCH
# TILE: repeat the image in a grid pattern
# frame.picture_format.picture_fill_mode = PictureFillMode.TILE
prs.save("filled.pptx", SaveFormat.PPTX)PictureFillMode | Elgsena |
|---|---|
STRETCH | Ištempti paveikslą, kad užpildytų rėmelį, nepaisant kraštinių santykio |
TILE | Kartoti paveikslą kaip plytelės raštą |
TILE_FLIP | Plytelės su pakaitomis horizontaliais/vertikalais apvertimais |
Pridėti kelis paveikslėlius į skirtingas skaidres
import os
from aspose.slides_foss import ShapeType
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
image_files = ["slide1.jpg", "slide2.jpg", "slide3.jpg"]
with slides.Presentation() as prs:
layout = prs.slides[0].layout_slide
# Ensure enough slides exist
while len(prs.slides) < len(image_files):
prs.slides.add_empty_slide(layout)
for i, path in enumerate(image_files):
if not os.path.exists(path):
continue
img = prs.images.add_image(open(path, "rb").read())
prs.slides[i].shapes.add_picture_frame(
ShapeType.RECTANGLE, 0, 0, 960, 540, img
)
prs.save("multi-image.pptx", SaveFormat.PPTX)Suskaičiuoti paveikslėlius esamo pristatyme
import aspose.slides_foss as slides
with slides.Presentation("with-image.pptx") as prs:
print(f"Presentation contains {len(prs.images)} image(s)")prs.images kolekcija yra bendrinama visose skaidrėse: tas pats paveikslėlio baitų rinkinys saugomas vieną kartą, net jei paveikslėlio rėmelis pasirodo keliose skaidrėse.