Εργασία με εικόνες σε παρουσιάσεις Aspose.Slides FOSS για Python
Aspose.Slides FOSS for Python lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame Σχήματα. Οι εικόνες μπορούν επίσης να χρησιμοποιηθούν ως σχήμα γεμίζει το φόντο μέσω της FillType.PICTURE.
Προσθήκη εικόνας από αρχείο
Φορτώστε bytes εικόνας από τον δίσκο και προσθέστε τα στη συλλογή εικαστικών της παρουσίασης με το prs.images.add_image().Μετά τοποθετήστε την εικόνα σε μια διαφάνεια ως ένα … 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)Τα τέσσερα επιχειρήματα θέσης για την add_picture_frame() είναι: x, y, width, height σε πόντους.
Προσθήκη εικόνας από Bytes
Εάν έχετε ήδη bytes εικόνας (π.χ., κατεβάστε από μια διεύθυνση URL ή διαβάσετε από βάση δεδομένων), περάστε τα απευθείας στο 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 επιστροφή από: add_picture_frame() κληρονομεί όλα. Shape ιδιότητες γεωμετρίας και μπορούν να επανατοποθετηθούν μετά τη δημιουργία:
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)Χρησιμοποιώντας Εικόνα ως Γεμάτο Σχήμα
Οποιοδήποτε σχήμα (όχι μόνο το PictureFrame) μπορεί να χρησιμοποιήσει μια εικόνα ως γεμίσματα φόντου. fill_type = FillType.PICTURE και να αναθέσει την εικόνα σε: 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 χρησιμοποιεί το κλίμακα της εικόνας για να γεμίσει ολόκληρο το σχήμα. TILE για επαναλαμβανόμενο σχέδιο πλακιδίων.
Προσθήκη πολλαπλών εικόνων σε διαφάνειες
Εικόνες προστέθηκαν στο prs.images Τα ίδια Image το object μπορεί να χρησιμοποιηθεί σε πολλαπλές διαφάνειες χωρίς την επανάληψη των δεδομένων:
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)