インクの管理

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

Aspose.Slides は、インクオブジェクトを作成・管理するために必要なタイプを含む Aspose.Slides.Ink インターフェイスを提供します。

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

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

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

ink_powerpoint1

インクシェイプのトレース

トレースは、ユーザーがデジタルインクを描く際にペンの軌跡を記録するために使用される基本的な要素または標準です。トレースは、接続された点のシーケンスを説明する記録です。

エンコーディングの最も単純な形は、各サンプルポイントの X と Y 座標を指定します。すべての接続されたポイントが描画されると、このような画像が生成されます:

ink_powerpoint2

描画のためのブラシプロパティ

ブラシを使ってトレース要素のポイントを結ぶ線を描画できます。ブラシには独自の色とサイズがあり、Brush.ColorBrush.Size プロパティに対応しています。

インクブラシの色を設定

この C# コードは、ブラシの色を設定する方法を示しています:

using (Presentation pres = new Presentation("pres.pptx"))
{
    IInk ink = (IInk)pres.Slides[0].Shapes[0];
    IInkTrace[] traces = ink.Traces;
    IInkBrush brush = traces[0].Brush;
    Color brushColor = brush.Color;
    brush.Color = Color.Red;
}

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

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

using (Presentation pres = new Presentation("pres.pptx"))
{
    IInk ink = (IInk)pres.Slides[0].Shapes[0];
    IInkTrace[] traces = ink.Traces;
    IInkBrush brush = traces[0].Brush;
    SizeF brushSize = brush.Size;
    brush.Size = new SizeF(5f, 10f);
}

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

ink_powerpoint3

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

ink_powerpoint4

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

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

ink_powerpoint5

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

ink_powerpoint6

さらなる読み物