Resim

Bu makale, Aspose.Slides for Python via Java kullanarak bellek içi görüntülerden resim ekleme ve erişme işlemlerini göstermektedir. Aşağıdaki örnekler bir resmi bellekte oluşturur, bir slayta yerleştirir ve ardından resim çerçevesini alır.

Paketi, Installation bölümünde açıklandığı gibi kurun. Her örnek, JVM’yi başlatmadan önce asposeslides paketini içe aktarır, ardından JVM çalıştıktan sonra API’yi içe aktarır.

Add a Picture

Bu kod, küçük bir bitmap oluşturur, onu bir akıma dönüştürür ve ilk slayta bir resim çerçevesi olarak ekler.

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)

    # Basit bir bellek içi görüntü oluştur.
    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()

    # Bitmap'i bayt dizisine dönüştür.
    bitmap_stream = ByteArrayOutputStream()
    ImageIO.write(bitmap, "png", bitmap_stream)
    png_bytes = bitmap_stream.toByteArray()

    # Görüntüyü sunuma ekle.
    image_stream = ByteArrayInputStream(png_bytes)
    image = presentation.getImages().addImage(image_stream)

    # İlk slaytta görüntüyü gösteren bir resim çerçevesi ekle.
    slide.getShapes().addPictureFrame(ShapeType.Rectangle, 50, 50, bitmap.getWidth(), bitmap.getHeight(), image)

    presentation.save("picture.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Access a Picture

Bu örnek, bir slaytta resim çerçevesi bulunduğunu doğrular ve ardından bulduğu ilk çerçeveye erişir.

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()