Sunumlarda Görsellerle Çalışma — Aspose.Slides FOSS for Python

Aspose.Slides FOSS for Python lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame şekiller. Görseller ayrıca şekil arka plan doldurmaları olarak aracılığıyla kullanılabilir FillType.PICTURE.


Dosyadan Görüntü Ekleme

Görüntü baytlarını diskte yükleyin ve sunumun görüntü koleksiyonuna … ile ekleyin prs.images.add_image(). Ardından görüntüyü bir slayta … olarak yerleştirin 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)

Dört konumsal argüman … için add_picture_frame() şunlardır: x, y, width, height puan cinsinden.


Baytlardan Görsel Ekleme

Eğer zaten görüntü baytlarınız varsa (ör. bir URL’den indirilmiş veya bir veritabanından okunmuş), bunları doğrudan … 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’in Konumlandırılması ve Boyutlandırılması

Bu PictureFrame tarafından döndürülen add_picture_frame() tüm … miras alır Shape geometri özelliklerini ve oluşturulduktan sonra yeniden konumlandırılabilir:

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)

Bir Görüntüyü Şekil Doldurması Olarak Kullanma

Herhangi bir şekil (sadece PictureFrame değil) bir görüntüyü arka plan doldurması olarak kullanabilir. Ayarlayın fill_type = FillType.PICTURE ve görüntüyü … atayın 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 görüntüyü tüm şekli dolduracak şekilde ölçeklendirir. Kullan TILE tekrarlayan karo deseni için.


Slaytlar Arasında Birden Çok Resim Ekleme

Şuraya eklenen görüntüler prs.images tüm slaytlar arasında paylaşılır. Aynı Image nesne, veriyi çoğaltmadan birden fazla slaytta kullanılabilir:

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)

Ayrıca Bakınız

 Türkçe