Ellipse() で円と楕円を描画する


VC++ の Ellipse() で円(楕円)を使った国旗を描画します。

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

プログラムの説明です。

  1. 以前に作成したプロジェクト(draw)を開いて WM_PAINT を表示して下さい。
  2. WM_PAINT に円と楕円を描画するコードを追加します。
    ブラシの設定は 矩形を描画する を参照して下さい。
        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);
    
            // TODO: 描画コードをここに追加してください...
            HBRUSH      hBrushRed,hBrushGreen,hOldBrush;
            hBrushRed= CreateSolidBrush(RGB(255,0,0));
            hBrushGreen= CreateSolidBrush(RGB(0,255,0));
            hOldBrush= (HBRUSH)SelectObject(hdc,hBrushRed);     // ブラシを選択
            Ellipse(hdc,20,20,100,100);
            SelectObject(hdc,hBrushGreen); 
            Ellipse(hdc,120,20,280,100);
            SelectObject(hdc,hOldBrush);                        // ブラシを戻す
            DeleteObject(hBrushRed);                            // ブラシを削除
            DeleteObject(hBrushGreen);                          // ブラシを削除
    
            EndPaint(hWnd, &ps);
            break;
        
  3. ビルド(コンパイル)に続いて実行を行います。
    [デバッグ][デバッグなしで開始]を選択して、ビルドに続いて実行を行います。
    コンパイルの進行状況とエラーがあれば、エラーメッセージが表示されます。

【演習】

日本とラオスの国旗を横に並べて描画して下さい。

日本

ラオス

【NOTE】

Ellipse() は矩形に内接する円(楕円)を描画します。
矩形が正方形のとき円が描画されます。
ソースコード 説明
Ellipse() 円(楕円)を表示
hdc デバイスコンテキスト
20,20 矩形の左上の座標
100,100 矩形の右下の座標

超初心者のプログラム入門(Win32API C++)