描画スペースの作成

提供: RAD Studio
移動先: 案内検索

キャンバス オブジェクトのプロパティの使用 への移動


Vcl.Graphics.TCanvas クラスは、Windows デバイス コンテキストをカプセル化します。 このクラスでは、フォーム、ビジュアル コンテナ(パネルなど)、プリンタ オブジェクト(「VCL アプリケーションでの印刷」を参照)のあらゆる描画を処理します。 キャンバス オブジェクトを使用すれば、ペン、ブラシ、パレットなどの割り当てを気にする必要はありません。割り当ても割り当て解除もすべて自動的に処理されます。

TCanvas には、キャンバスを含んでいるコントロールならどれにでも線、図形、多角形、フォントなどを描画できる基本的なグラフィックス ルーチンが多数用意されています。たとえば、以下に示すボタンのイベント ハンドラでは、フォームの左上隅から中央に線を引き、フォーム上に未加工のテキストを出力しています。

Delphi の場合:

 procedure TForm1.Button1Click(Sender: TObject);
   begin
     Canvas.Pen.Color := clBlue;
     Canvas.MoveTo( 10, 10 );
     Canvas.LineTo( 100, 100 );
     Canvas.Brush.Color := clBtnFace;
     Canvas.Font.Name := 'Arial';
     Canvas.TextOut( Canvas.PenPos.x, Canvas.PenPos.y,'This is the end of the line' );
   end;

C++ の場合:

void __fastcall TForm1::Button1Click(TObject *Sender) {
    Canvas->Pen->Color = clBlue;
    Canvas->MoveTo(10, 10);
    Canvas->LineTo(100, 100);
    Canvas->Brush->Color = clBtnFace;
    Canvas->Font->Name = "Arial";
    Canvas->TextOut(Canvas->PenPos.x, Canvas->PenPos.y,
        "This is the end of the line");
}

Graphics ユニットに定義されている TCanvas オブジェクトを使用すると、Windows グラフィックスでのよくあるミスを防ぐこともできます。たとえば、デバイス コンテキスト、ペン、ブラシなどを描画操作前の値に戻すことができます。TCanvas は、VCL で描画が必要な箇所や描画可能な箇所ならどこででも使用され、その結果、グラフィックスの描画がフェイルセーフでかつ簡単になります。

関連項目