7-5 多角形の描画−Polygonメソッド


☆ 総目次へ ★ 第7章目次へ ★ 前節へ ★ 次節へ ☆

☆ 『Delphi入門』 7-5多角形の描画-Polygonメソッド ☆
Polygonメソッドは、指定した点を結ぶ多角形を描画します。多角形の描画にはCanvasPenプロパティで設定されているペンと、Brushプロパティで設定されているブラシを使います。
 Polygonメソッドでは、描画に使う点をTPointで指定します。TPointは画面上のピクセル位置を定義します。
 

Polygon(cost POINT*Points,const int Points_Size);
  
  Points  :多角形の頂点
  Points_Size  :点の配列の最後の要素を、配列のインデックス番号で指定します。

あらかじめ、TPointの変数を宣言してください。TPoint型の各メンバーに値を代入するときに、Pointを使っています。

基礎課題7-5

まずは、論より証拠。実際にプログラミングしてみましょう。

 フォームのデザインは【基礎課題7-4】までと全く同様とします。今、3点{(10,50),(30,10),(60,50)}を順に結んでできる三角形を描く場合を考えましょう。このときの描画ボタンクリックのイベントハンドラはPolygonメソッドを用いると次のようになります。

各自プログラム作成後、動作を確認してください。きちんと三角形が描けましたか?

ここで、線を描くペンの色を指定するには、

             

のようにペンの色指定の文を描画命令の前に置きます。 さらに、三角形内部を指定色で塗りつぶしたいのであれば、

           

赤下線のように(色を塗る)ブラシの色指定文を描画命令の前に置きます。指定しない場合は白色で塗りつぶされます。 各自、好きな色で塗りつぶしてみてください。





               基礎課題7−5 解答

  TPoint型の変数に値を代入する方法 

上記のプログラムでは、TPoint型メンバーに値を代入するときにPointを使いました。もちろんドット演算子(.)を使ってTPoint型の変数の各メンバーを参照することもできます。次の2つのコードは、どちらも同じ処理を行います。
(A) (B)
p[0] = Point(10,50;) p[0].x = 10;
 p[0].y = 50; 
                                        Delphiとの相違点                                        
基礎課題7-6

Polygonメソッドを用いて、[描画]ボタンを押すと、左のように赤色のダイヤを描くプログラムを作成してください。
基礎課題7−6 解答
☆ 『Delphi入門』 7-5多角形の描画-Polygonメソッド ☆

☆ 総目次へ ★ 第7章目次へ ★ 前節へ ★ 次節へ ☆



しかし、任意の点を順に結んでできる(閉じた)多角形の場合は、それを直接に描くことができるPolygonというメソッドがCanvasプロパティに定義されています。本節ではその用法について簡単にふれておきましょう。