HT_ComputeRGBGammaTable関数 (winddi.h)
HT_ComputeRGBGammaTable関数を使用すると、GDI はガンマ値に基づいてデバイスの赤、緑、青の強度を計算します。
構文
LONG HT_ComputeRGBGammaTable(
[in] USHORT GammaTableEntries,
[in] USHORT GammaTableType,
[in] USHORT RedGamma,
[in] USHORT GreenGamma,
[in] USHORT BlueGamma,
[out] LPBYTE pGammaTable
);
パラメーター
[in] GammaTableEntries
赤、緑、青の各強度について、テーブル内のステップの合計数を指定します。 この値は 1 より大きく、256 以下である必要があります (つまり、2 <= GammaTableEntries<= 256)。 たとえば、値 256 は、ガンマ テーブルに 256 個の赤いエントリ、256 個の緑のエントリ、256 個の青いエントリがあることを意味します。
[in] GammaTableType
pGammaTable のorganizationを指定します。 有効なテーブルの種類は次のとおりです。
GammaTableType | 説明 |
---|---|
0 | ガンマ テーブルの赤、緑、青の値は一緒にインターリーブされます。 各ガンマ ステップは 3 バイトです。赤、緑、青の各 1 バイト。 |
1 | 赤、緑、青のテーブルは別々にパックされます。つまり、赤いテーブル全体の後に緑色のテーブル全体が続き、その後に青いテーブル全体が続きます。 個々のエントリはそれぞれ 1 バイトであり、各サブテーブルの長さは GammaTableEntries バイトの合計になります。 |
[in] RedGamma
赤いガンマ値を指定します。 この USHORT 値は、4 桁の最下位桁数が (暗黙的な) 小数点の右側にある実数として解釈されます。 たとえば、ガンマ値 10000 は実数 1.0000 を表し、12345 は 1.2345 を表します。 許容される最小ガンマ値は 0.0000 で、最大許容値は 6.5535 です。
[in] GreenGamma
緑色のガンマ値を指定します。 この USHORT 値は、4 桁の最下位桁数が (暗黙的な) 小数点の右側にある実数として解釈されます。 たとえば、ガンマ値 10000 は実数 1.0000 を表し、12345 は 1.2345 を表します。 許容される最小ガンマ値は 0.0000 で、最大許容値は 6.5535 です。
[in] BlueGamma
青いガンマ値を指定します。 この USHORT 値は、4 桁の最下位桁数が (暗黙的な) 小数点の右側にある実数として解釈されます。 たとえば、ガンマ値 10000 は実数 1.0000 を表し、12345 は 1.2345 を表します。 許容される最小ガンマ値は 0.0000 で、最大許容値は 6.5535 です。
[out] pGammaTable
ガンマ テーブルの赤、緑、青の強度が書き込まれるバイト配列へのポインター。 返されるテーブルは、 GammaTableType パラメーターで指定されたとおりに編成されます。
戻り値
戻り値は、 pGammaTable に書き込まれたガンマ エントリの数です。成功すると、この値は GammaTableEntries と等しくなります。 GammaTableEntries が 2 より小さいか、256 より大きい場合、戻り値は 0 になります。
pGammaTable で返される赤、緑、青の強度は 0 から 255 の範囲です。
解説
GDI ハーフトーン サービス ルーチンでは、特別なパレットを使用してハーフトニングを行います。 デバイスが 16 ビットまたは 24 ビットの種類のサーフェスに対して 24 ビット デバイスの色のプールからピクセル パレットごとに 8 ビットを選択した場合、GDI は赤、緑、青の色のステップを想定します。それぞれが等しい明るさを持っています。
GDI は、ドライバーが GDI で使用されるピクセルごとの 8 ビット ハーフトーン パレットに対してクエリを実行できるように、このサービスを提供します。または、デバイスのガンマ補正および等化された RGB 色の強度を計算します。
要件
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |