描画用キャンバスの利用

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

コンポーネントにおけるグラフィックの利用:インデックス への移動


キャンバス クラスはグラフィック コントロールを各種レベル(個別の線、図形およびテキストを描画するための高レベル関数など)でカプセル化します。Vcl.Graphics.TCustomCanvas クラスは、VCL(Visual Component Library)で定義するすべてのキャンバス オブジェクトに対して抽象基底クラスを定義します。VCL の多くのコントロールには、関連キャンバス オブジェクトがありますが、例外は内部的には Windows コントロールにバインドされているコントロール(Vcl.StdCtrls.TButton など)や描画に上位のキャンバスを使用するコントロール(Vcl.ExtCtrls.TPaintBox など)です。


Vcl.Graphics.TCustomCanvas には 2 つの主要な下位クラスがあります。


すべての VCL コントロールは Vcl.Graphics.TCanvas の下位クラスを使用することに注意してください。多くの Windows OS では Direct2D のキャンバスをサポートしないからです。Vcl.Direct2D.TDirect2DCanvas をサポートする Windows のバージョンは、Windows 7 だけです。


概念上は、キャンバスは 3 種類の抽象レベル(高レベル中間レベル低レベル)に分けられます。各レベルでは、機能セットを定義します。高レベル機能は、すべてのキャンバスで利用できます。実装の詳細は関係ありません。中間レベルは意味的にはキャンバスの実装にかかわらず同一ですが、公開された public インターフェイスは異なることがあります。最後に低レベルでは、実装に依存する機能が公開されます。


次の表に、3 種類の抽象レベルを示します。高レベルとして定義されているが、すべてのキャンバスの下位クラスではまだ実装されていない関数もあるので、参照情報として考えてください。


高レベルの機能

処理 ツール

線や図形の描画

メソッド(MoveToLineToRectangle および Ellipse など)

テキストの表示と測定

TextOutTextHeightTextWidth および TextRect の各メソッド

領域の塗りつぶし

FillRectFloodFill メソッド


中間レベルの機能

処理 ツール

テキストとグラフィックのカスタマイズ

PenBrush および Font の各プロパティ


低レベルの機能

処理 ツール

Windows GDI 関数の呼び出し

Handle プロパティ(Vcl.Graphics.TCanvas

Windows Direct2D 関数の呼び出し(Vcl.Direct2D.TDirect2DCanvas

RenderTarget プロパティ

ピクセルの操作

Pixels プロパティ(Vcl.Graphics.TCanvas

画像のコピーとマージ

Draw、StretchDraw、BrushCopy および CopyRect の各メソッド、CopyMode プロパティ(Vcl.Graphics.TCanvas

高度の描画処理

DrawEllipseDrawGeometryFillRectangleVcl.Direct2D.TDirect2DCanvas


関連項目

コード例