GraphicsPathを使用した画像の描画

GraphicsPath クラスは、グラフィックス パスの作成と維持を担当しています。GraphicsPath はイメージに対する参照を持っておらず、イメージ自体を変更することはせず、代わりに、Graphics クラスが描画できるパスを記述するメタデータを含むオブジェクトと見なすことができます。GraphicsPath クラスは、各図形が連結した線および曲線のシーケンスまたは幾何学的形状のプリミティブから構成される、図形を使用します。各形状は形状セグメントに分割できます。GraphicsPath オブジェクトに異なる図形や形状を追加、削除、変更できます。GraphicsPath が完全に記述されたら、対応する Graphics クラスのメソッド(DrawPath および Fill Paths)を使用して、パスを描画するか塗りつぶすことができます。Graphics クラスは、各形状セグメントを取り、最終的なイメージを生成するためにそれを描画します。

GraphicsPath クラスを使用した描画

以下は、GraphicsPath クラスの使用を示す例です。例のソースコードは、単純で追いやすいように複数の部分に分割されています。ステップ バイ ステップで、例では以下の方法を示します:

GraphicsPath クラスを使用した画像の描画: プログラミング例

GraphicsPath: イメージの作成

まず、ファイルの作成で説明されている方法を使用してイメージを作成します。

GraphicsPath: Graphics オブジェクトの初期化

Image オブジェクトをコンストラクタに渡すことで、Graphics オブジェクトを作成して初期化します。

GraphicsPath: サーフェスのクリア

Graphics サーフェスを Clear メソッドを呼び出してクリアし、Color をパラメータとして渡します。このメソッドは、引数として渡された色で Graphics サーフェスを塗りつぶします。

GraphicsPath: GraphicsPath のインスタンスを作成

GraphicsPath のインスタンスを作成し、GraphicsPath をデフォルトで Alternate に設定します。このモードは、閉じた図形の内部を塗りつぶす方法を決定します。他の可能な GraphicsPath の値は Winding です。

GraphicsPath: 図形を作成

Figure クラスのインスタンスを作成します。前述のように、Figure には Shapes が含まれ、shapes は Aspose.PSD.Shapes ネームスペースにあります。

GraphicsPath: 図形に形状を追加

Figure クラスが公開する Add Shapes メソッドを使用すると、図形に形状を追加できます。以下のコード例では、いくつかの形状を Figure オブジェクトに追加しています。

GraphicsPath: 図形を配列に追加

複数の図形を AddFigures メソッドを使用して GraphicsPath オブジェクトに追加できます。このメソッドは、図形の配列をパラメータとして受け入れます。

GraphicsPath: パスを描画

Graphics クラスが公開する DrawPath メソッドを使用して GraphicsPath を描画します。このメソッドは 2 つのパラメータを受け入れます。最初のパラメータは Path の色、幅、スタイルを決定する Pen クラスのオブジェクトであり、2 番目のパラメータはパス自体を表す GraphicsPath クラスのオブジェクトです。

GraphicsPath: パスを塗りつぶす

Graphics クラスが公開する Fill Paths メソッドに GraphicsPath オブジェクトを渡すことで、パスを塗りつぶすことができます。Fill Paths メソッドは、パスが現在パスに設定されている塗りつぶしモード(alternate または winding)に従ってパスを塗りつぶします。パスに開いている図形がある場合、その図形が閉じられたと仮定してパスが塗りつぶされます。

Fill Paths メソッドは 2 つのパラメータを受け入れます。最初のパラメータは、Aspose.PSD.Brushes ネームスペースからの任意のブラシクラスのオブジェクトです。2 番目のパラメータはパス自体です。この例では、HatchBrush を使用し、これはハッチスタイル、前景色、背景色を持つ四角形ブラシです。HatchBrush オブジェクトを Fill Paths メソッドに渡す前に、そのプロパティを設定してください。

GraphicsPath: 完全なソース

全ての IDisposable を実装したクラスは正しく破棄されるよう、Using ステートメント内でインスタンス化されます。