次の方法で共有


GDI+ でのペン、直線、および四角形

GDI+ で線を描画するには、Graphics オブジェクトと Pen オブジェクトを作成する必要があります。 Graphics オブジェクトは、図面を実際に実行するメソッドを提供し、Pen オブジェクトには線の色、幅、スタイルなどの属性が格納されます。

線の描画

線を描画するには、Graphics オブジェクトの DrawLine メソッドを呼び出します。 Pen オブジェクトは、引数の 1 つとして DrawLine メソッドに渡されます。 次の例では、点 (4, 2) から点 (12, 6) に線を描画します。

myGraphics.DrawLine(myPen, 4, 2, 12, 6);
myGraphics.DrawLine(myPen, 4, 2, 12, 6)

DrawLine は、Graphics クラスのオーバーロードされたメソッドであるため、引数を指定する方法はいくつかあります。 たとえば、2 つの Point オブジェクトを構築し、Point オブジェクトを引数として DrawLine メソッドに渡すことができます。

Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)

ペンを作る

Pen オブジェクトを作成するときに、特定の属性を指定できます。 たとえば、1 つの Pen コンストラクターを使用すると、色と幅を指定できます。 次の例では、(0, 0) から (60, 30) までの幅 2 の青い線を描画します。

Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
Dim myPen As New Pen(Color.Blue, 2)
myGraphics.DrawLine(myPen, 0, 0, 60, 30)

破線とライン キャップ

Pen オブジェクトは、DashStyleなどのプロパティも公開します。このプロパティを使用して、線の特徴を指定できます。 次の例では、(100, 50) から (300, 80) までの破線を描画します。

myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);
myPen.DashStyle = DashStyle.Dash
myGraphics.DrawLine(myPen, 100, 50, 300, 80)

Pen オブジェクトのプロパティを使用して、行のさらに多くの属性を設定できます。 StartCap プロパティと EndCap プロパティは、線の終点の外観を指定します。端は、フラット、四角形、丸い、三角形、またはカスタム図形にすることができます。 LineJoin プロパティを使用すると、直線の接合部をマイター (鋭角での結合)、ベベル、ラウンド、クリップのいずれにするかを指定できます。 次の図は、さまざまな先端と結合スタイルの直線を示しています。

線

四角形の描画

GDI+ を使用した四角形の描画は、線の描画に似ています。 四角形を描画するには、Graphics オブジェクトと Pen オブジェクトが必要です。 Graphics オブジェクトは DrawRectangle メソッドを提供し、Pen オブジェクトには線の幅や色などの属性が格納されます。 Pen オブジェクトは、引数の 1 つとして DrawRectangle メソッドに渡されます。 次の例では、左上隅が (100, 50)、幅が 80、高さが 40 の四角形を描画します。

myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)

DrawRectangle は、Graphics クラスのオーバーロードされたメソッドであるため、引数を指定する方法はいくつかあります。 たとえば、Rectangle オブジェクトを構築し、Rectangle オブジェクトを引数として DrawRectangle メソッドに渡すことができます。

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)

Rectangle オブジェクトには、四角形に関する情報を操作および収集するためのメソッドとプロパティがあります。 たとえば、Inflate メソッドと Offset メソッドは、四角形のサイズと位置を変更します。 IntersectsWith メソッドは、四角形が別の指定された四角形と交差するかどうかを示し、Contains メソッドは、指定した点が四角形内にあるかどうかを示します。

関連項目