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)