図形を描画する

「線(DrawLine), 矩形(DrawRectangle), 楕円/円(DrawEllipse)」を描画します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. 全ソースコードです。
    プロジェクトのフォルダーに格納して下さい。
    空のプロジェクトの作成は Form を作成する を参照して下さい。
    自動生成を使って Form を作成 の場合も同じ要領です。
    /*********************************/
    /*★ 図形を描画する    前田 稔 ★*/
    /*********************************/
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    public class MyForm : Form
    {
        public MyForm()
        {
            Paint += new PaintEventHandler(MyHandler);
        }
    
        private void MyHandler(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawLine(new Pen(Color.Green,10f),10,20,280,20);
            g.DrawRectangle(new Pen(Color.Red,3f), new Rectangle(30,40,200,50));
            g.DrawEllipse(new Pen(Color.Blue), new Rectangle(50,100,200,60));
            g.DrawEllipse(new Pen(Color.Yellow,5f), 80, 170, 80, 80);
        }
    }
    
    class draw
    {
        public static void Main()
        {
            MyForm mf = new MyForm();
            Application.Run(mf);
        }
    }
    
  2. new MyForm() で Form を継承した MyForm Object Class を生成します。
  3. Application.Run(mf) で MyForm に制御を渡し、メッセージループに入ります。
  4. MyForm では Paint にウインドウを描画するイベントハンドラ(MyHandler)を設定します。
  5. MyHandler() で From に「線/矩形/楕円/円」を描画します。
    1. パラメータ(PaintEventArgs e)を受け取って、Graphics g を設定します。
    2. DrawLine() で線を描画します。
    3. DrawRectangle() で矩形を描画します。
    4. DrawEllipse() で楕円を描画します。
    5. DrawEllipse() で円を描画します。
  6. 矩形領域の指定には、x,y 座標と width,height をカンマで区切る方法と、Rectangle() 構造体を使う方法があります。
    g.DrawEllipse(new Pen(Color.Yellow,5f), 80, 170, 80, 80);
    g.DrawEllipse(new Pen(Color.Blue), new Rectangle(50,100,200,60));

【演習】

  1. 色々な図形を描画してみて下さい。
  2. DrawLine() を右クリックして「定義へ移動」を選択すると、その前後にメソッドの一覧が表示されます。
    上記のソースコードを参考にすれば、パラメータの書き方は解るはずです。
  3. 塗りつぶした図形は FillXXX で始まります。
    また Pen に代えて Brush を使います。
    例えば、矩形の塗りつぶしは次のように書きます。
    g.FillRectangle(new SolidBrush(Color.Red),60,40,200,150);
  4. 矩形を描画する関数を使って、フィンランド・スイス・トンガ・ギリシアの国旗を描画して下さい。

    フィンランド

    スイス

    トンガ

    ギリシア
    万国旗は 東京旗商工業共同組合 から調べることができます。

超初心者のプログラム入門(C# Frame Work)