Gambar
Contents
[
Hide
]
Artikel ini menunjukkan cara menyisipkan dan mengakses gambar dari gambar dalam memori menggunakan Aspose.Slides for Python via Java. Contoh di bawah membuat gambar dalam memori, menempatkannya pada slide, dan kemudian mengambil frame gambar.
Instal paket seperti yang dijelaskan di Instalasi. Setiap contoh mengimpor asposeslides sebelum memulai JVM, kemudian mengimpor API setelah JVM berjalan.
Tambah Gambar
Kode ini menghasilkan bitmap kecil, mengkonversinya menjadi stream, dan menyisipkannya sebagai frame gambar pada slide pertama.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from java.awt import Color
from java.awt.image import BufferedImage
from java.io import ByteArrayInputStream, ByteArrayOutputStream
from javax.imageio import ImageIO
from asposeslides.api import Presentation, SaveFormat, ShapeType
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
# Buat gambar sederhana dalam memori.
bitmap = BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB)
graphics = bitmap.createGraphics()
try:
color = Color(144, 238, 144)
graphics.setPaint(color)
graphics.fillRect(0, 0, 100, 100)
finally:
graphics.dispose()
# Konversi bitmap menjadi array byte.
bitmap_stream = ByteArrayOutputStream()
ImageIO.write(bitmap, "png", bitmap_stream)
png_bytes = bitmap_stream.toByteArray()
# Tambahkan gambar ke presentasi.
image_stream = ByteArrayInputStream(png_bytes)
image = presentation.getImages().addImage(image_stream)
# Sisipkan frame gambar yang menampilkan gambar pada slide pertama.
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 50, 50, bitmap.getWidth(), bitmap.getHeight(), image)
presentation.save("picture.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Akses Gambar
Contoh ini memastikan slide berisi frame gambar dan kemudian mengakses yang pertama ditemukan.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from java.awt.image import BufferedImage
from java.io import ByteArrayInputStream, ByteArrayOutputStream
from javax.imageio import ImageIO
from asposeslides.api import PictureFrame, Presentation, ShapeType
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
bitmap = BufferedImage(40, 40, BufferedImage.TYPE_INT_ARGB)
bitmap_stream = ByteArrayOutputStream()
ImageIO.write(bitmap, "png", bitmap_stream)
png_bytes = bitmap_stream.toByteArray()
image_stream = ByteArrayInputStream(png_bytes)
image = presentation.getImages().addImage(image_stream)
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 0, 0, 40, 40, image)
picture_frame = None
for shape in slide.getShapes():
if isinstance(shape, PictureFrame):
picture_frame = shape
break
if picture_frame is None:
print("The slide contains no picture frames.")
finally:
presentation.dispose()