グラフィックのカプセル化

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

コンポーネント作成の詳細:インデックス への移動

Delphi では,多様なグラフィックツールをキャンバス内にカプセル化することにより,Windows のグラフィックを簡単にします。キャンバスはウィンドウやコントロールの描画面で,ペン,ブラシ,フォントなどのほかのクラスも含んでいます。キャンバスは Windows のデバイスコンテキストと似ていますが,Windows のデバイスコンテキストと違う点は,キャンバスでは後始末が自動的に行われるということです。

Windows グラフィックアプリケーションを開発したことがあれば,Windows のグラフィックデバイスインターフェース(GDI)が課す規則についてご存知でしょう。規則にはたとえば,利用可能なデバイスコンテキストの数の制限や,グラフィックオブジェクトを破棄する前には,オブジェクトを初期の状態に戻さなければならないことなどがあります。

Delphi では,そうした規則にわずらわされることはありません。フォームやほかのコンポーネントに描画する場合には,コンポーネントの Canvas プロパティを使用します。ペンやブラシをカスタマイズする場合には,色やスタイルを設定します。設定が終了すると,リソースの破棄は Delphi が行います。アプリケーションが同じ種類のリソースを頻繁に使用する場合は,Delphi はリソースが再生成されないようにリソースをキャッシュに入れておきます。

もちろん今までのように Windows GDI にも全面的にアクセスできます。しかし,Delphi コンポーネントのキャンバスを使用する方が,コードが簡単になり実行速度も上がります。

グラフィックイメージがコンポーネント内でどのように機能するかは,コンポーネントが継承するオブジェクトのキャンバスに応じて異なります。グラフィック機能の詳細は,「コンポーネントにおけるグラフィックの使い方」を参照してください。