کار با تصاویر در ارائهها — 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)