EngCreatePalette 函式 (winddi.h)
EngCreatePalette 函式會將要求傳送至 GDI 以建立 RGB 調色盤。
語法
ENGAPI HPALETTE EngCreatePalette(
[in] ULONG iMode,
[in] ULONG cColors,
[in] ULONG *pulColors,
[in] FLONG flRed,
[in] FLONG flGreen,
[in] FLONG flBlue
);
參數
[in] iMode
指定如何定義調色盤。 此參數可以是下列其中一個值:
值 | 意義 |
---|---|
PAL_BITFIELDS | 調色盤是由 flRed、 flGreen 和 flBlue 參數所定義。 |
PAL_BGR | 裝置會直接接受 RGB 色彩,B (藍色) 為最小顯著位元組。 |
PAL_CMYK | 裝置會直接接受 CMYK 色彩,C (青色) 為最不重要的位元組。 |
PAL_INDEXED | RGB 色彩的陣列隨附 cColors 和 pulColors。 |
PAL_RGB | 裝置會直接接受 RGB 色彩,R (紅色) 為最小顯著位元組。 |
[in] cColors
如果 iMode 參數 PAL_INDEXED,cColors 會指定 pulColors 所指向數位中提供的色彩數目。 否則,此參數應為零。
[in] pulColors
如果 iMode 是PAL_INDEXED,則為 ULONG 值陣列開頭的指標。 每個 ULONG 的低序 3 個字節會定義調色盤中的 RGB 色彩。
[in] flRed
如果 iMode 參數是 PAL_BITFIELDS,flRed、 flGreen 和 flBlue 參數是顯示哪些位對應至紅色、綠色和藍色的遮罩。 每個遮罩都必須包含連續位,而且不應該重疊其他遮罩。 GDI 支援所有位欄位的組合。
[in] flGreen
如果 iMode 參數是 PAL_BITFIELDS,flRed、 flGreen 和 flBlue 參數是顯示哪些位對應至紅色、綠色和藍色的遮罩。 每個遮罩都必須包含連續位,而且不應該重疊其他遮罩。 GDI 支援所有位欄位的組合。
[in] flBlue
如果 iMode 參數是 PAL_BITFIELDS,flRed、 flGreen 和 flBlue 參數是顯示哪些位對應至紅色、綠色和藍色的遮罩。 每個遮罩都必須包含連續位,而且不應該重疊其他遮罩。 GDI 支援所有位欄位的組合。
傳回值
如果函式成功,則傳回值是新調色盤的句柄。 否則,它會是零,而且會記錄錯誤碼。
備註
驅動程式可以將新的調色盤與裝置產生關聯,方法是將指標傳回 DEVINFO 結構中的調色盤。
與裝置相關聯的PAL_INDEXED調色盤必須將其第一個索引項目設定為黑色 (紅色 = 0、綠色 = 0、藍色 = 0) ,並將最後一個專案設定為白色 (255、255、255) 。 應該設定所有其他專案,讓索引是彼此互補的專案具有大幅對比的色彩。 例如,如果 16 個項目選擇區的專案0x9設為純綠色 (0,255,0) ,則專案0x6 (=~0x9) 应设定为与绿色对比良好的色彩,例如深紫色 (128,0,128) 。 以這種方式設定專案可讓 XOR 點陣作業有合理的行為。 當您不再需要使用 EngDeletePalette 時,應該刪除調色盤。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Universal |
標頭 | winddi.h (包括 Winddi.h) |
程式庫 | Win32k.lib |
Dll | Win32k.sys |