SHGetInverseCMAP 関数 (shlwapi.h)
[この関数は、Windows XP および Windows Server 2003 を通じて使用できます。 以降のバージョンの Windows では変更または使用できない場合があります。]
ハーフトーン パレットの逆カラー テーブル マッピングを取得します。
構文
LWSTDAPI SHGetInverseCMAP(
[out] BYTE *pbMap,
[in] ULONG cbMap
);
パラメーター
[out] pbMap
型: BYTE*
逆カラー テーブル マッピングを受け取る BYTEs の配列へのポインター、または cbMap パラメーターの値に応じて、逆カラー テーブル マッピングのキャッシュされたコピーへのポインターを受け取る LPBYTE へのポインター。
[in] cbMap
種類: ULONG
pbMap によって指されるバッファーのサイズ。これは、その内容も定義します。 2 つの値が認識されます。
(sizeof(BYTE*))
pbMap が指すバッファーは、逆カラー マップ テーブルのキャッシュされたコピーへのポインターを受け取ります。
(32768)
pbMap が指すバッファーは、逆カラー マップ テーブルのコピーを受け取ります。 バッファーのサイズは正確に 32,768 バイトである必要があります。
戻り値
種類: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
逆カラー マッピング テーブルは、32,768 バイトのテーブルです。 ハーフトーン パレットの色のインデックスが含まれています。 各インデックスは、555 形式で表される特定の RGB 値に対応するバッファー内の位置に格納されます。 これらのペアリングを使用すると、元の色の近似であるハーフトーン パレットで色を見つけることができます。
たとえば、ハーフトーン パレットでカラー #306040 の近似値である色を決定する方法は次のとおりです。
- 色を赤、緑、青の各成分に分解します。 この場合、赤成分は0x30、緑色成分は0x60、青成分は0x40。
- 色を 555 形式に再アセンブルします。 24 ビット RGB カラーを 555 形式に縮小するための数式を次に示します。
((red / 8) << 10) + ((blue / 8) << 5) + (green / 8)
この例では、555 形式の値は ((0x30/ 8) 10) << + ((0x60 / 8) 5) << + (0x40 / 8) = 6536 です。
- 逆カラー マップ テーブルの位置 6536 に格納されているインデックス値は、ハーフトーン パレットの色のインデックスであり、カラー #306040 に対する妥当な近似値です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 5.0 以降) |