モダンAPI

はじめに

歴史的に、Aspose Slidesはjava.awtに依存しており、公開APIには以下のクラスが含まれています:

バージョン24.4以降、この公開APIは非推奨として宣言されています。

これらのクラスに対する依存関係を解消するために、いわゆる「モダンAPI」を追加しました。つまり、非推奨のAPIの代わりに使用すべきAPIであり、そのシグネチャにはBufferedImageに依存するものが含まれています。Graphics2Dは非推奨として宣言され、そのサポートは公開Slides APIから削除されます。

System.Drawingに依存する非推奨の公開APIの削除は、リリース24.8で行われます。

モダンAPI

公開APIに以下のクラスと列挙型が追加されました:

  • IImage - ラスタまたはベクター画像を表します。
  • ImageFormat - 画像のファイル形式を表します。
  • Images - IImageインターフェイスをインスタンス化し、操作するためのメソッド。

IImageは破棄可能であり(IDisposableインターフェイスを実装しており、その使用はusingでラップするか、別の便利な方法で破棄する必要があります)。

新しいAPIを使用する典型的なシナリオは次のようになります:

use aspose\slides\Presentation;
use aspose\slides\ShapeType;
use aspose\slides\ImageFormat;
use aspose\slides\Images;


$pres = new Presentation();

# ディスク上のファイルからIImageの破棄可能なインスタンスをインスタンス化します。
$image = Images::fromFile("image.png");

# IImageのインスタンスをプレゼンテーションの画像に追加してPowerPoint画像を作成します。
$ppImage = $pres->getImages()->addImage($image);
$image->dispose();

# スライド #1に画像形状を追加します。
$pres->getSlides()->get_Item(0)->getShapes()->addPictureFrame(ShapeType::Rectangle, 10, 10, 100, 100, $ppImage);

$dimension = new Java("java.awt.Dimension", 1920, 1080);
# スライド #1を表すIImageのインスタンスを取得します。
$slideImage = $pres->getSlides()->get_Item(0)->getImage($dimension);

# ディスク上に画像を保存します。
$slideImage->save("slide1.jpeg", ImageFormat::Jpeg);
$slideImage->dispose();

$pres->dispose();

古いコードをモダンAPIに置き換える

一般的に、ImageIOを使用して古いメソッドの呼び出しを新しいものに置き換える必要があります。

古い:

$dimension = new Java("java.awt.Dimension", 1920, 1080);
$slideImage = $pres->getSlides()->get_Item(0)->getThumbnail($dimension);
$imageio = new Java("javax.imageio.ImageIO");
$javafile = new Java("java.io.File", "image.png");
$imageio->write($slideImage, "PNG", $javafile);

新しい:

$dimension = new Java("java.awt.Dimension", 1920, 1080);
$slideImage = $pres->getSlides()->get_Item(0)->getImage($dimension);
$slideImage->save("image.png", ImageFormat::Png);
$slideImage->dispose();

スライドサムネイルの取得

非推奨APIを使用したコード:

use aspose\slides\Presentation;


$pres = new Presentation("pres.pptx");

$slideImage = $pres->getSlides()->get_Item(0)->getThumbnail();

$imageio = new Java("javax.imageio.ImageIO");
$javafile = new Java("java.io.File", "slide1.png");
$imageio->write($slideImage, "PNG", $javafile);

$pres->dispose();

モダンAPI:

use aspose\slides\Presentation;
use aspose\slides\ImageFormat;


$pres = new Presentation("pres.pptx");

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

$pres->dispose();

形状サムネイルの取得

非推奨APIを使用したコード:

use aspose\slides\Presentation;


$pres = new Presentation("pres.pptx");

$shapeImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getThumbnail();

$imageio = new Java("javax.imageio.ImageIO");
$javafile = new Java("java.io.File", "shape.png");
$imageio->write($shapeImage, "PNG", $javafile);

$pres->dispose();

モダンAPI:

use aspose\slides\Presentation;
use aspose\slides\ImageFormat;


$pres = new Presentation("pres.pptx");

$shapeImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage();
$shapeImage->save("shape.png");
$shapeImage->dispose();

$pres->dispose();

プレゼンテーションサムネイルの取得

非推奨APIを使用したコード:

use aspose\slides\Presentation;
use aspose\slides\RenderingOptions;


$pres = new Presentation("pres.pptx");

$renderingOptions = new RenderingOptions();
$dimension = new Java("java.awt.Dimension", 1920, 1080);

$bitmaps = $pres->getThumbnails($renderingOptions, $dimension);
for ($i = 0; $i < count(java_values($bitmaps)); $i++)
{
    $thumbnail = $bitmaps[$i];
    $imageio = new Java("javax.imageio.ImageIO");
    $javafile = new Java("java.io.File", "slide" . $i . ".png");
    $imageio->write($thumbnail, "PNG", $javafile);
}

$pres->dispose();

モダンAPI:

use aspose\slides\Presentation;
use aspose\slides\ImageFormat;
use aspose\slides\RenderingOptions;


$pres = new Presentation("pres.pptx");

$renderingOptions = new RenderingOptions();
$dimension = new Java("java.awt.Dimension", 1920, 1080);

$images = $pres->getImages($renderingOptions, $dimension);
for ($i = 0; $i < count(java_values($images)); $i++)
{
    $thumbnail = $images[$i];
    $thumbnail->save("slide" . $i . ".png", ImageFormat::Png);
}

$pres->dispose();

プレゼンテーションに画像を追加する

非推奨APIを使用したコード:

use aspose\slides\Presentation;
use aspose\slides\ShapeType;


$pres = new Presentation();

$imageio = new Java("javax.imageio.ImageIO");
$javafile = new Java("java.io.File", "image.png");

$bufferedImages = $imageio->read($javafile);
$ppImage = $pres->getImages()->addImage($bufferedImages);

$pres->getSlides()->get_Item(0)->getShapes()->addPictureFrame(ShapeType::Rectangle, 10, 10, 100, 100, $ppImage);

$pres->dispose();

モダンAPI:

use aspose\slides\Presentation;
use aspose\slides\Images;
use aspose\slides\ShapeType;


$pres = new 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();

削除されるメソッドとモダンAPIでの置き換え

プレゼンテーション

メソッドシグネチャ 置き換えメソッドシグネチャ
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)

形状

メソッドシグネチャ 置き換えメソッドシグネチャ
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)

スライド

メソッドシグネチャ 置き換えメソッドシグネチャ
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) 完全に削除されます
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, float scaleX, float scaleY) 完全に削除されます
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, Dimension renderingSize) 完全に削除されます

出力

メソッドシグネチャ 置き換えメソッドシグネチャ
public final IOutputFile add(String path, BufferedImage image) public final IOutputFile add(String path, IImage image)

ImageCollection

メソッドシグネチャ 置き換えメソッドシグネチャ
public final IPPImage addImage(BufferedImage image) public final IPPImage addImage(IImage image)

PPImage

メソッドシグネチャ 置き換えメソッドシグネチャ
public final BufferedImage getSystemImage() public final IImage getImage()

PatternFormat

メソッドシグネチャ 置き換えメソッドシグネチャ
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

メソッドシグネチャ 置き換えメソッドシグネチャ
public final java.awt.image.BufferedImage getTileImage(Color background, Color foreground) public final IImage getTileIImage(Color background, Color foreground)

Graphics2DのAPIサポートは終了します

Graphics2Dを使用するメソッドは非推奨として宣言され、そのサポートは公開APIから削除されます。

それを使用するAPIの一部が削除されます:

スライド