XLATEOBJ 構造体 (winddi.h)

XLATEOBJ 構造体は、カラー インデックスをパレット間で変換するために使用されます。

構文

typedef struct _XLATEOBJ {
  ULONG  iUniq;
  FLONG  flXlate;
  USHORT iSrcType;
  USHORT iDstType;
  ULONG  cEntries;
  ULONG  *pulXlate;
} XLATEOBJ;

メンバー

iUniq

ドライバーが以前にキャッシュした XLATEOBJ 構造体を認識できるようにするキャッシュ識別子。 このメンバーが 0 の場合、ドライバーは XLATEOBJ 構造体をキャッシュしないでください。

flXlate

翻訳に関するヒントを指定するフラグ。 このメンバーには、次の値の任意に組み合わせが可能です。

意味
XO_DEVICE_ICM デバイスで ICM が有効になっています。 ドライバーは、 DrvIcmCreateColorTransform によって作成された色変換に従って色を変換する必要があります。 ドライバーは、色変換ハンドルを取得する XLATEOBJ_hGetColorTransform を呼び出す必要があります。 このビットは、XO_HOST_ICMとは相互に排他的です。
XO_FROM_CMYK ICM 変換の結果、ソース インデックスは 32 ビット CMYK カラー形式に変換されます。 このビットが設定されている場合、 iSrcTypeiDstTypecEntriesおよび pulXlate は無視する必要があります。
XO_HOST_ICM ICM はグラフィックス エンジンによって実行されるため、このカラー テーブルの色はターゲット サーフェスに修正されます。 このビットは、ドライバーの情報として GDI によって設定されます。ドライバーではアクションは必要ありません。 このビットは、XO_DEVICE_ICMとは相互に排他的です。
XO_TABLE ソース インデックスをターゲット インデックスに変換するテーブルが用意されています。
XO_TO_MONO ソース インデックスは、1 つを除くすべてのインデックスが 0 にマップされる特別なプロパティを持つモノクロ形式に変換されます。 ドライバーはこれを使用して、ブロック転送を高速化できます。
XO_TRIVIAL ソース インデックスはターゲット インデックスとして使用できます。

iSrcType

現在は使用されていません。 XLATEOBJ_cGetPaletteを使用してソース形式のクエリを実行します。

iDstType

現在は使用されていません。 変換先の形式を照会するには、XLATEOBJ_cGetPaletteを使用します。

cEntries

pulXlate メンバーが指す配列内のエントリの数を指定します。 値が cEntries より大きい pulXlate にインデックスを作成すると、メモリ アクセス違反が発生します。

pulXlate

翻訳エントリの配列へのポインター。

注釈

変換先パレットは常に、描画操作の対象サーフェスに属します。 ソース パレットは、アプリケーションが選択したパレットまたは別のサーフェスのパレットです。

XLATEOBJ 構造体は、ソース パレットを参照するカラー インデックスを変換先パレットのインデックスに変換するために使用されます。 結果のインデックスは、ソースの色にできるだけ近い色を識別します。

要件

要件
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DrvIcmCreateColorTransform

XLATEOBJ_cGetPalette

XLATEOBJ_hGetColorTransform

XLATEOBJ_piVector