DrvDitherColor 関数 (winddi.h)
DrvDitherColor 関数は、デバイス パレットに対してディザリングされたブラシを作成するようにデバイスに要求します。
構文
ULONG DrvDitherColor(
[in] DHPDEV dhpdev,
[in] ULONG iMode,
[in] ULONG rgb,
[in, out] ULONG *pul
);
パラメーター
[in] dhpdev
指定した色をディザリングする必要があるパレットに対して物理デバイスを記述する PDEV 構造体へのハンドル。
[in] iMode
ディザリングするパレットを決定します。 このパラメーターには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
DM_DEFAULT | ドライバーは、デバイスのネイティブの既定の色空間のディザーを作成する必要があります。 たとえば、デバイスが 16bpp で実行されている場合、結果のディザは 16bpp 形式である必要があります。 |
DM_MONOCHROME | ドライバーは、モノクロ色空間のディザを作成する必要があります。つまり、ディザは 1bpp ビットマップとして返される必要があります。 |
[in] rgb
ディザリングする RGB 色を指定します。
[in, out] pul
ディザリング情報を受け取るメモリの場所へのポインター。 メモリは、cyDither によってディザリングされたブラシ ディメンション cxDither を持つ標準形式のビットマップに割り当てられている必要があります。 これらのディメンションは 、DEVINFO 構造体のメンバーです。 ビットマップ形式は、DEVINFO 構造体の iDitherFormat メンバーによって決まります。
戻り値
ドライバーによってディザ値が計算されている場合は戻り値がDCR_DRIVER、エンジンが色の最適な純色近似を使用する必要がある場合はDCR_SOLID、エンジンがドライバーのハーフトーン近似を作成する必要がある場合はDCR_HALFTONE。
注釈
ディザの結果は、pul に格納されているデバイスカラーインデックスのセット です。 パターンにこれらの色を使用して作成されたブラシは、指定された色 rgb の適切な近似である必要があります。
DrvDitherColor は、 cxDither と cyDither が 0 以外の場合にのみ呼び出される省略可能な関数です。 ほとんどのラスター プリンターを含むモノクロ デバイス ドライバーでは、 iMode パラメーターを使用して、適切なグレースケール パターンを取得する方法を GDI に指示する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | winddi.h (Winddi.h を含む) |