Bild
Contents
[
Hide
]
Denna artikel demonstrerar hur man infogar och får åtkomst till bilder från minnesbilder med Aspose.Slides for Python via Java. Exemplen nedan genererar en bild i minnet, placerar den på en bild och hämtar sedan bildramen.
Installera paketet enligt beskrivningen i Installation. Varje exempel importerar asposeslides innan JVM startas, och importerar sedan API:t när JVM körs.
Lägg till en bild
Den här koden genererar en liten bitmap, konverterar den till en ström och infogar den som en bildram på den första bilden.
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)
# Skapa en enkel bild i minnet.
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()
# Konvertera bitmapen till en bytearray.
bitmap_stream = ByteArrayOutputStream()
ImageIO.write(bitmap, "png", bitmap_stream)
png_bytes = bitmap_stream.toByteArray()
# Lägg till bilden i presentationen.
image_stream = ByteArrayInputStream(png_bytes)
image = presentation.getImages().addImage(image_stream)
# Infoga en bildram som visar bilden på den första bilden.
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 50, 50, bitmap.getWidth(), bitmap.getHeight(), image)
presentation.save("picture.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Få åtkomst till en bild
Detta exempel säkerställer att en bild innehåller en bildram och hämtar sedan den första som den hittar.
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()