次の方法で共有


CMTranslateRGBs 関数 (icm.h)

[CMTranslateRGB は Windows Vista の時点で使用できなくなりました。

カラー変換を使用して、 ある色空間 から別の色空間にビットマップを変換します。

構文

BOOL CMTranslateRGBs(
  HCMTRANSFORM hcmTransform,
  LPVOID       lpSrcBits,
  BMFORMAT     bmInput,
  DWORD        dwWidth,
  DWORD        dwHeight,
  DWORD        dwStride,
  LPVOID       lpDestBits,
  BMFORMAT     bmOutput,
  DWORD        dwTranslateDirection
);

パラメーター

hcmTransform

使用する色変換を指定します。

lpSrcBits

変換するビットマップをポイントします。

bmInput

入力ビットマップ形式を指定します。

dwWidth

入力ビットマップ内のスキャンラインあたりのピクセル数を指定します。

dwHeight

入力ビットマップ内のスキャン行の数を指定します。

dwStride

1 つのスキャン行の先頭から入力ビットマップ内の次のスキャン行の先頭までのバイト数を指定します。 dwStride が 0 に設定されている場合、CMM では、スキャン行が DWORD に合わせて埋め込まれていると想定する必要があります。

lpDestBits

変換されたビットマップを配置するコピー先バッファーを指します。

bmOutput

出力ビットマップ形式を指定します。

dwTranslateDirection

変換に使用する変換の方向を指定します。 このパラメーターは、次のいずれかの値を受け取る必要があります。

意味
CMS_FORWARD

前方変換を使用する

CMS_BACKWARD

逆変換を使用する

戻り値

Windows Vista 以降では、既定の CMM (Icm32.dll) は FALSE を 返し、 GetLastError はERROR_NOT_SUPPORTEDを報告します。

Windows Server 2003、Windows XP、Windows 2000:

この関数が成功した場合、戻り値は TRUE になります

この関数が失敗した場合、戻り値は FALSE になります。 関数が成功しない場合、CMM は SetLastError を呼び出して、最後のエラーを Winerror.h で定義された有効なエラー値に設定する必要があります。

注釈

Windows Vista 以降では、このメソッドを実装するために CMM 実装者は不要になりました。

Windows Server 2003、Windows XP、Windows 2000:

この関数をエクスポートするには、すべての CMM が必要です。

コピー先バッファーに書き込む場合、CMM では、スキャン行が DWORD に合わせて埋め込まれていることを確認する必要があります。

入力形式と出力形式がカラー変換と互換性がない場合、この関数は失敗します。

入力ビットマップ形式と出力ビットマップ形式の両方が、BM_xRGBQUADSの場合と同様にピクセルあたり 4 バイトの 3 チャネルである場合は、4 番目のバイトを保持し、出力バッファーにコピーする必要があります。

この関数はインプレース翻訳をサポートする必要があることに注意してください。 つまり、出力のメモリ占有領域が入力のメモリ占有領域以下である場合は常に、ソースバッファーとコピー先バッファーが同じであっても、この関数はビットマップの色を変換できる必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header icm.h

こちらもご覧ください