7-6 楕円の描画−Ellipse メソッド

Canvas プロパティには楕円を描く Ellipse というメソッドも定義されています。本章の最後に、その用法について簡単に学習しておきましょう。

【練習問題】

Ellipse メソッド

Ellipse メソッドは、ある長方形に内接する楕円を描く、というメソッドです。ですから指定するパラメータは長方形の左上隅と右下隅の頂点の座標となります。例えば (10, 20)-(50, 60) の正方形に収まる円を描く場合には、[描画] ボタンクリックのイベントハンドラは次のようになります。

void __fastcall TForm1::ButtonDrawClick(TObject *Sender)
{
    ImageField->Canvas->Ellipse(10, 20, 50, 60);
}
procedure TForm1.ButtonDrawClick(Sender: TObject);
begin
  ImageField.Canvas.Ellipse(10, 20, 50, 60);
end;
■JBuilder code■
■VB code■
■VBA code■

作成したらきちんと円が描けるかどうか確認してください。

【基礎課題 7-6-1】

Ellipse メソッドを用いて、中心座標 (xc, yc) および半径 r、そしてペンの色 cl を指定すると、円を描く手続きを作成しましょう。この手続きを Circle(xc, yc, r, cl) とすると、例えば上の【練習問題】のイベントハンドラは次のよう書けます。

void __fastcall TForm1::ButtonDrawClick(TObject *Sender)
{
    int xc;
    xc = 30;
    int yc;
    yc = 40;
    int r;
    r = 20;
    Circle(xc, yc, r, clBlue);
}
procedure TForm1.ButtonDrawClick(Sender: TObject);
var
  xc: Integer;
  yc: Integer;
  r: Integer;
begin
  xc := 30;
  yc := 40;
  r := 20;
  Circle(xc, yc, r, clBlue);
end;
■JBuilder code■
■VB code■
■VBA code■

この手続き Circle(xc, yc, r, cl) を定義 (作成) してください。

【応用課題 7-6-A】

デモンストレーション (D)

【基礎課題 7-6-1】で定義した手続き Circle を用いて、次のように3つの同心円を描いてください。ペンの色は適当で結構です。

なお、右の例では Image コンポーネントの Width および Height プロパティを 150 にしています。

3つの同心円