共用方式為


CMTranslateRGBsExt 函式 (icm.h)

將點陣圖從一個定義的格式轉譯成不同的已定義格式,並在指定回呼函式時定期呼叫回呼函式,以報告進度並允許呼叫應用程式終止轉譯。

語法

BOOL CMTranslateRGBsExt(
  HCMTRANSFORM   hcmTransform,
  LPVOID         lpSrcBits,
  BMFORMAT       bmInput,
  DWORD          dwWidth,
  DWORD          dwHeight,
  DWORD          dwInputStride,
  LPVOID         lpDestBits,
  BMFORMAT       bmOutput,
  DWORD          dwOutputStride,
  LPBMCALLBACKFN lpfnCallback,
  LPARAM         ulCallbackData
);

參數

hcmTransform

指定要使用的色彩轉換。

lpSrcBits

要轉譯之點陣圖的指標。

bmInput

指定輸入點陣圖格式。

dwWidth

指定輸入點陣圖中每個掃描線條的圖元數目。

dwHeight

指定輸入點陣圖中的掃描行數。

dwInputStride

指定從一個掃描行的開頭到輸入點陣圖中下一個開頭的位元組數目。 如果 dwInputStride 設定為零,CMM 應該假設掃描線條已填補,以便 對齊 DWORD對齊。

lpDestBits

指向目的地緩衝區,在其中放置轉譯的點陣圖。

bmOutput

指定輸出點陣圖格式。

dwOutputStride

指定從一個掃描行的開頭到輸入點陣圖中下一個開頭的位元組數目。 如果 dwOutputStride 設定為零,CMM 應該填補掃描行,使其 對齊 DWORD對齊。

lpfnCallback

由 CMTranslateRGBsExt定期呼叫之應用程式提供的回呼函式指標,以報告進度,並允許呼叫程式取消轉譯。 (請參閱 ICMProgressProcCallback.)

ulCallbackData

傳回回呼函式的資料,例如識別報告進度的轉譯。

傳回值

如果此函式成功,則傳回值為 TRUE

如果此函式失敗,傳回值為 FALSE ,而 CMM 應該呼叫 SetLastError ,將最後一個錯誤設定為 Winerror.h 中定義的有效錯誤值。

備註

匯出此函式需要每個 CMM。

寫入目的地緩衝區時,CMM 應該確定掃描行已填補為 DWORD對齊。

如果輸入和輸出格式與色彩轉換不相容,則此函式會失敗。

如果輸入和輸出點陣圖格式都是 3 個通道,則每個圖元 4 個位元組,如同在BM_xRGBQUADS的情況下,應該保留第四個位元組並複製到輸出緩衝區。

如果回呼函式傳回零,應該取消處理, 而 CMTranslateRGBsExt 應該傳回零表示失敗;輸出緩衝區可能會部分填滿。

請注意,此函式必須支援就地翻譯。 也就是說,每當輸出的記憶體使用量小於或等於輸入的記憶體使用量時,即使來源和目的地緩衝區相同,此函式也必須能夠轉譯點陣圖色彩。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 icm.h

另請參閱