FillMode 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
閉じたパスの内部を塗りつぶす方法を指定します。
public enum class FillMode
public enum FillMode
type FillMode =
Public Enum FillMode
- 継承
フィールド
名前 | 値 | 説明 |
---|---|---|
Alternate | 0 | 代替フィル モードを指定します。 |
Winding | 1 | 巻き取りフィル モードを指定します。 |
例
次の例では、1 つの開いている図形 (円弧) と 1 つの閉じた図形 (楕円) を持つパスを作成します。 FillPath メソッドは、既定の塗りつぶしモード (代替) に従ってパスを塗りつぶします。 次の図は、コード例の出力を示しています。 パスは(代替に従って)、開いている図形が終点から始点までの直線で閉じられたかのように塗りつぶされることに注意してください。
次の例は Windows フォームで使用できるように設計されており、PaintEventArgse
が必要です。これは、Paint イベント ハンドラーのパラメーターです。
GraphicsPath path = new GraphicsPath();
// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);
// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);
Pen pen = new Pen(Color.FromArgb(128, 0, 0, 255), 5);
SolidBrush brush = new SolidBrush(Color.Red);
// The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path);
e.Graphics.DrawPath(pen, path);
Dim path As New GraphicsPath()
' Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120)
' Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100)
Dim pen As New Pen(Color.FromArgb(128, 0, 0, 255), 5)
Dim brush As New SolidBrush(Color.Red)
' The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path)
e.Graphics.DrawPath(pen, path)
注釈
アプリケーションは、代替または巻き取りの 2 つのフィル モードのいずれかを使用して、パスの内部を塗りつぶします。 このモードは、閉じた図形の内部を塗りつぶしてクリップする方法を決定します。
既定のモードは代替です。 代替モードで閉じた図形の内部を決定するには、パス内の任意の始点から、明らかにパスの外側にあるポイントまでの線を描画します。 線が奇数個のパス セグメントと交差する場合、始点は閉じた領域内にあるため、塗りつぶし領域またはクリッピング領域の一部になります。 偶数の交差は、ポイントが塗りつぶされたりクリップされたりする領域にないことを意味します。 開いている図形が塗りつぶされるか、線を使用して図形の最初のポイントに最後のポイントが接続されます。
巻き取りモードでは、各交差のパス セグメントの方向が考慮されます。 時計回りの交差ごとに 1 つ追加し、反時計回りの交差ごとに 1 つ減算します。 結果が 0 以外の場合、ポイントは塗りつぶしまたはクリップ領域内と見なされます。 0 カウントは、ポイントがフィル領域またはクリップ領域の外側にあることを意味します。
図形は、図形のセグメントが描画される順序に基づいて、時計回りまたは反時計回りと見なされます。
適用対象
こちらもご覧ください
.NET