Bekerja dengan Gambar dalam Presentasi — Aspose.Slides FOSS untuk Python

Aspose.Slides FOSS for Python memungkinkan Anda menyematkan gambar dalam koleksi gambar bersama presentasi dan menampilkannya pada slide menggunakan bentuk PictureFrame. Gambar juga dapat digunakan sebagai isian latar belakang bentuk melalui FillType.PICTURE.


Menambahkan Gambar dari File

Muat byte gambar dari disk dan tambahkan ke koleksi gambar presentasi dengan prs.images.add_image(). Kemudian tempatkan gambar pada slide sebagai 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)

Empat argumen posisi untuk add_picture_frame() adalah: x, y, width, height dalam poin.


Menambahkan Gambar dari Byte

Jika Anda sudah memiliki byte gambar (mis., diunduh dari URL atau dibaca dari basis data), lewati mereka langsung ke 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)

Memposisikan dan Mengubah Ukuran PictureFrame

PictureFrame yang dikembalikan oleh add_picture_frame() mewarisi semua properti geometri Shape dan dapat dipindahkan kembali setelah dibuat:

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)

Menggunakan Gambar sebagai Isian Bentuk

Setiap bentuk (bukan hanya PictureFrame) dapat menggunakan gambar sebagai isian latar belakangnya. Atur fill_type = FillType.PICTURE dan tetapkan gambar ke 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 mengubah skala gambar untuk mengisi seluruh bentuk. Gunakan TILE untuk pola ubin berulang.


Menambahkan Beberapa Gambar di Seluruh Slide

Gambar yang ditambahkan ke prs.images dibagikan di semua slide. Objek Image yang sama dapat digunakan pada beberapa slide tanpa menduplikasi data:

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)

Lihat Juga

 Bahasa Indonesia