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 |