Modern API

Bevezetés

Történelmileg az Aspose Slides a java.awt‑tól függ, és a nyilvános API‑ban a következő osztályokat tartalmazza:

A 24.4‑es verziótól ez a nyilvános API elavultként van jelölve.

Az osztályoktól való függőség megszüntetése érdekében bevezettük a „Modern API”-t – vagyis azt az API‑t, amelyet a deprecated változat helyett kell használni, és amelynek aláírásaiban már nem szerepel a BufferedImage. A Graphics2D elavult, és támogatása eltávolításra került a Slides nyilvános API‑ból.

A System.Drawing‑ra hivatkozó, elavult nyilvános API eltávolítása a 24.8‑as kiadásban fog megtörténni.

Modern API

Új osztályok és felsorolások kerültek a nyilvános API‑ba:

  • IImage – raszteres vagy vektorgrafikus képet képviseli.
  • ImageFormat – a kép fájlformátumát jelöli.
  • Images – módszerek az IImage interfész példányosításához és kezeléséhez.

Felhívjuk a figyelmet, hogy az IImage diszponálható (megvalósítja az IDisposable interfészt, ezért a használatát using blokkba vagy más megfelelő módon kell becsomagolni).

Egy tipikus használati példa a új API‑ra a következő lehet:

from asposeslides.api import Presentation, SaveFormat, Images, ShapeType, ImageFormat
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension

pres = Presentation();

# példányosít egy eldobható IImage példányt a lemezen lévő fájlból.
image = Images.fromFile("image.png");

# létrehoz egy PowerPoint képet úgy, hogy egy IImage példányt hozzáad a prezentáció képeihez.
ppImage = pres.getImages().addImage(image);
image.dispose();

# hozzáad egy kép alakzatot az 1. diára
pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage);

# lekéri az 1. diát ábrázoló IImage példányt.
slideImage = pres.getSlides().get_Item(0).getImage(Dimension(1920, 1080));

# menti a képet a lemezen.
slideImage.save("slide1.jpeg", ImageFormat.Jpeg);
slideImage.dispose();

pres.dispose();

Régi kód cseréje a Modern API‑ra

Általában a ImageIO‑val használt régi metódus hívását kell helyettesíteni az újval.

Régi:

image_format = "PNG"
buffImage = pres.getSlides().get_Item(0).getThumbnail(Dimension(1920, 1080))
ImageIO.write(buffImage, image_format, File("image.png"))

Új:

slideImage = pres.getSlides().get_Item(0).getImage(Dimension(1920, 1080));
slideImage.save("image.png", ImageFormat.Png);

Diakép (slide thumbnail) lekérése

Elavult API‑t használó kód:

from asposeslides.api import Presentation
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension


pres = Presentation("pres.pptx");

slideImage = pres.getSlides().get_Item(0).getThumbnail();
image_format = "PNG"
ImageIO.write(slideImage, image_format, File("slide1.png"))

pres.dispose();

Modern API:

from asposeslides.api import Presentation, ImageFormat


pres = Presentation("pres.pptx");

slideImage = pres.getSlides().get_Item(0).getImage();
slideImage.save("slide1.png", ImageFormat.Png);
slideImage.dispose();

pres.dispose();

Alakzat képének (shape thumbnail) lekérése

Elavult API‑t használó kód:

from asposeslides.api import Presentation
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension


pres = Presentation("pres.pptx");

shapeImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getThumbnail();
image_format = "PNG"
ImageIO.write(shapeImage, image_format, File("shape.png"))

pres.dispose();

Modern API:

from asposeslides.api import Presentation, ImageFormat


pres = Presentation("pres.pptx");

shapeImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage();
shapeImage.save("shape.png", ImageFormat.Png);
shapeImage.dispose();

pres.dispose();

Prezentációkép (presentation thumbnail) lekérése

Elavult API‑t használó kód:

from asposeslides.api import Presentation, RenderingOptions
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension


pres = Presentation("pres.pptx");

image_format = "PNG"
rendering_options = RenderingOptions();
bitmaps = pres.getThumbnails(rendering_options, Dimension(1980, 1028));

for index in range(bitmaps.length):
    thumbnail = bitmaps[index];
    ImageIO.write(thumbnail, "PNG", File("slide" + str(index) + ".png"));
    
pres.dispose();

Modern API:

from asposeslides.api import Presentation, RenderingOptions, ImageFormat
from java.awt import Dimension


pres = Presentation("pres.pptx");

rendering_options = RenderingOptions();
images = pres.getImages(rendering_options, Dimension(1980, 1028));

for index in range(images.length):
    thumbnail = images[index];
    thumbnail.save("slide" + str(index) + ".png", ImageFormat.Png);
    thumbnail.dispose();

pres.dispose();

Kép hozzáadása a prezentációhoz

Elavult API‑t használó kód:

from asposeslides.api import Presentation, ShapeType
from javax.imageio import ImageIO
from java.io import File


pres = Presentation();

bufferedImages = ImageIO.read(File("image.png"));
ppImage = pres.getImages().addImage(bufferedImages);

pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage);

pres.dispose();

Modern API:

from asposeslides.api import Presentation, ShapeType, Images
from java.awt import Dimension


pres = Presentation();

image = Images.fromFile("image.png");
ppImage = pres.getImages().addImage(image);
image.dispose();

pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage);

pres.dispose();

Eltávolításra kerülő metódusok és azok helyettesítése a Modern API‑ban

Presentation

Metódus aláírás Helyettesítő metódus aláírás
public final BufferedImage[] getThumbnails(IRenderingOptions options) public final IImage[] getImages(IRenderingOptions options)
public final BufferedImage[] getThumbnails(IRenderingOptions options, float scaleX, float scaleY) public final IImage[] getImages(IRenderingOptions options, float scaleX, float scaleY)
public final BufferedImage[] getThumbnails(IRenderingOptions options, int[] slides) public final IImage[] getImages(IRenderingOptions options, int[] slides)
public final BufferedImage[] getThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) public final IImage[] getImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)
public final BufferedImage[] getThumbnails(IRenderingOptions options, int[] slides, Dimension imageSize) public final IImage[] getImages(IRenderingOptions options, int[] slides, Dimension imageSize)
public final BufferedImage[] getThumbnails(IRenderingOptions options, Dimension imageSize) public final IImage[] getImages(IRenderingOptions options, Dimension imageSize)

Shape

Metódus aláírás Helyettesítő metódus aláírás
public final BufferedImage getThumbnail() public final IImage getImage()
public final BufferedImage getThumbnail(int bounds, float scaleX, float scaleY) public final IImage getImage(int bounds, float scaleX, float scaleY)

Slide

Metódus aláírás Helyettesítő metódus aláírás
public final BufferedImage getThumbnail() public final IImage getImage()
public final BufferedImage getThumbnail(float scaleX, float scaleY) public final IImage getImage(float scaleX, float scaleY)
public final BufferedImage getThumbnail(IRenderingOptions options) public final IImage getImage(IRenderingOptions options)
public final BufferedImage getThumbnail(IRenderingOptions options, float scaleX, float scaleY) public final IImage getImage(IRenderingOptions options)
public final BufferedImage getThumbnail(IRenderingOptions options, Dimension imageSize) public final IImage getImage(IRenderingOptions options, Dimension imageSize)
public final BufferedImage getThumbnail(ITiffOptions options) public final IImage getImage(ITiffOptions options)
public final BufferedImage getThumbnail(Dimension imageSize) public final IImage getImage(Dimension imageSize)
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics) Teljesen törlésre kerül
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, float scaleX, float scaleY) Teljesen törlésre kerül
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, Dimension renderingSize) Teljesen törlésre kerül

Output

Metódus aláírás Helyettesítő metódus aláírás
public final IOutputFile add(String path, BufferedImage image) public final IOutputFile add(String path, IImage image)

ImageCollection

Metódus aláírás Helyettesítő metódus aláírás
public final IPPImage addImage(BufferedImage image) public final IPPImage addImage(IImage image)

PPImage

Metódus aláírás Helyettesítő metódus aláírás
public final BufferedImage getSystemImage() public final IImage getImage()

PatternFormat

Metódus aláírás Helyettesítő metódus aláírás
public final BufferedImage getTileImage(Color styleColor) public final IImage getTile(Color styleColor)
public final BufferedImage getTileImage(Color background, Color foreground) public final IImage getTile(Color background, Color foreground)

PatternFormatEffectiveData

Metódus aláírás Helyettesítő metódus aláírás
public final java.awt.image.BufferedImage getTileImage(Color background, Color foreground) public final IImage getTileIImage(Color background, Color foreground)

A Graphics2D támogatás megszüntetése az API‑ban

A Graphics2D használatával ellátott metódusok elavultként vannak jelölve, és támogatásuk eltávolításra kerül a nyilvános API‑ból.

Az érintett API‑részlet eltávolításra kerül:

Slide