Android でプレゼンテーションのインクオブジェクトを管理

PowerPoint はインク機能を提供し、標準的でない図形の描画を可能にします。この機能は、他のオブジェクトを強調したり、接続やプロセスを示したり、スライド上の特定の項目に注意を引くために使用できます。

Aspose.Slides では、インクオブジェクトの作成と管理に必要なすべての Ink タイプ (例: Ink クラス) が提供されています。

通常オブジェクトとインクオブジェクトの違い

PowerPoint のスライド上のオブジェクトは、通常、シェイプオブジェクトで表されます。シェイプオブジェクトは、最も単純な形では、オブジェクト自体の領域(フレーム)とそのプロパティを定義するコンテナです。これにはコンテナ領域のサイズ、コンテナの形状、コンテナの背景などが含まれます。詳しくは Shape Layout Format を参照してください。

しかし、PowerPoint がインクオブジェクトを扱う場合、サイズ以外のオブジェクトフレーム(コンテナ)のすべてのプロパティは無視されます。コンテナ領域のサイズは標準の widthheight の値で決まります:

ink_powerpoint1

インクシェイプ トレース

トレースは、ユーザーがデジタルインクで書く際のペンの軌跡を記録する基本要素または標準です。トレースは、連続した点のシーケンスを記述した記録です。

エンコードの最も単純な形式は、各サンプル点の X と Y 座標を指定します。すべての連続点が描画されると、以下のような画像が生成されます:

ink_powerpoint2

描画用ブラシプロパティ

ブラシを使用して、トレース要素の点を結ぶ線を描画できます。ブラシには Brush.Color および Brush.Size プロパティに対応する独自の色とサイズがあります。

インクブラシの色を設定

以下の Java コードは、ブラシの色を設定する方法を示しています:

Presentation pres = new Presentation("pres.pptx");
try {
    IInk ink = (IInk)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    IInkTrace[] traces = ink.getTraces();
    IInkBrush brush = traces[0].getBrush();
    Color brushColor = brush.getColor();
    brush.setColor(Color.RED);
} finally {
    if (pres != null) pres.dispose();
}

インクブラシのサイズを設定

以下の Javaコードは、ブラシのサイズを設定する方法を示しています:

Presentation pres = new Presentation("pres.pptx");
try {
    IInk ink = (IInk)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    IInkTrace[] traces = ink.getTraces();
    IInkBrush brush = traces[0].getBrush();
    Dimension2D brushSize = brush.getSize();
    brush.setSize(new Dimension(5, 10));
} finally {
    if (pres != null) pres.dispose();
}

通常、ブラシの幅と高さは一致しないため、PowerPoint はブラシサイズを表示しません(データ セクションはグレー表示)。ただし、ブラシの幅と高さが一致する場合、PowerPoint は次のようにサイズを表示します:

ink_powerpoint3

分かりやすくするため、インクオブジェクトの高さを増やして重要な寸法を確認しましょう:

ink_powerpoint4

コンテナ(フレーム)はブラシのサイズを考慮せず、常に線の太さはゼロであるとみなします(最後の画像を参照)。

したがって、インクオブジェクト全体の表示領域を決定するには、トレースオブジェクトのブラシサイズを考慮する必要があります。ここでは、対象オブジェクト(手書きテキストトレースオブジェクト)がコンテナ(フレーム)のサイズに合わせてスケーリングされています。コンテナ(フレーム)のサイズが変わると、ブラシサイズは一定のままであり、逆も同様です。

ink_powerpoint5

テキストを扱う場合も、PowerPoint は同じ動作を示します:

ink_powerpoint6

さらに読む