<Return[G]><Top>

GetDIBColorTable

DeclareFunction Api_GetDIBColorTable& Lib "gdi32" Alias "GetDIBColorTable" (ByVal hDC&, ByVal uStartIndex&, ByVal cEntries&, pColors As RGBQUAD)

Declare Function GetDIBColorTable Lib "gdi32" Alias "GetDIBColorTable" (ByVal hDC As Long, ByVal uStartIndex As Long, ByVal cEntries As Long, pColors As RGBQUAD) As Long

指定されたデバイスコンテキストに現在選択されている DIB セクションのビットマップのカラーテーブルのエントリから、RGB(赤、緑、青)カラーの値を取得する。

パラメータ
hdc
    デバイスコンテキストを指定する。DIB セクションのビットマップは、このデバイスコンテキストの中に選択されていなければならない。
uStartIndex
    0 から始まるカラーテーブルのインデックスを指定する。このインデックスは、カラーテーブルから最初に受け取るエントリを表す。
cEntries
    受け取る予定のカラーテーブルエントリ数を指定する。
pColors
    DIB のカラーテーブルのカラー情報が入った、 データ構造体の配列を受け取るバッファへのポインタを指定する。バッファは、cEntries パラ

    メータの値と同数の RGBQUAD データ構造体を格納できるサイズでなければならない。

戻り値
    関数が成功すると、関数が取得するカラーテーブルのエントリ数が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    GetDIBColorTable 関数は、1 ピクセルに対して 1 ビット、4 ビット、または 8 ビットを使用する DIB セクションのビットマップのカラーテーブル

    を取得するのに呼び出す。1 ピクセルあたりのビット数は、ビットマップに関連する BITMAPINFOHEADER 構造体の biBitCount メンバで

    指定する。biBitCount の値が 8 より大きい DIB セクションのビットマップは、カラーテーブルを持っていない。ただし、こうしたビットマップに

    は、関連するカラーマスクがあります。これらのカラーマスクを取得するには、GetObject 関数を使う。