パレットの処理

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

画像の取り扱い への移動


VCL コンポーネントをパレットベースのデバイス(一般的に 256 色ビデオ モード)で動作させると、Delphi のコントロールではパレットの実現が自動的にサポートされます。つまり、パレットを持つコントロールを使用する場合、TControl から継承した 2 つのメソッドを使って、Windows がそのパレットを扱う方法を制御できます。

コントロールのパレット用に、次の 2 つの点がサポートされています。

ほとんどのコントロールではパレットは必要ありませんが、"リッチ カラー" のグラフィック画像を含むコントロール(画像コントロールなど)では、Windows や画面デバイス ドライバとやり取りして、コントロールが適切に表示されるようにする必要があるかもしれません。Windows ではこの処理のことをパレットの実現と呼んでいます。

パレットの実現では、最前面のウィンドウにはすべてのパレット色をそのまま使用し、背面のウィンドウには可能な限りのパレット色を使用しますが、表示できなかった色は "本当の" パレットの中で最も近い色にマッピングします。ウィンドウの前後位置が変わるのに合わせて、Windows は絶えずパレットの実現処理を行います。

メモ: Delphi 自体では、ビットマップの場合を除き、パレットの作成や保守に関して特別のサポートを行っていません。しかし、パレット ハンドルを取得すれば、Delphi コントロールが自動的にそれを管理してくれます。