עבודה עם תמונות במצגות — 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.
הוספת תמונה מקובץ
טען בתים של תמונה מהדיסק והוסף אותם לאוסף התמונות של המצגת באמצעות 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 בנקודות.
הוספת תמונה מבתים
אם כבר יש לך בתים של תמונה (למשל, שהורדו מכתובת 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
ה 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 אובייקט ניתן לשימוש במספר שקופיות ללא שכפול הנתונים:
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)