次の方法で共有


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 は、 cxDithercyDither が 0 以外の場合にのみ呼び出される省略可能な関数です。 ほとんどのラスター プリンターを含むモノクロ デバイス ドライバーでは、 iMode パラメーターを使用して、適切なグレースケール パターンを取得する方法を GDI に指示する必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DEVINFO

DrvEnablePDEV