Canvas プロパティには楕円を描く 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■
作成したらきちんと円が描けるかどうか確認してください。
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-1】で定義した手続き Circle を用いて、次のように3つの同心円を描いてください。ペンの色は適当で結構です。
なお、右の例では Image コンポーネントの Width および Height プロパティを 150 にしています。