共用方式為


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 調色盤是由 flRedflGreenflBlue 參數所定義。
PAL_BGR 裝置會直接接受 RGB 色彩,B (藍色) 為最小顯著位元組。
PAL_CMYK 裝置會直接接受 CMYK 色彩,C (青色) 為最不重要的位元組。
PAL_INDEXED RGB 色彩的陣列隨附 cColorspulColors
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,flRedflGreenflBlue 參數是顯示哪些位對應至紅色、綠色和藍色的遮罩。 每個遮罩都必須包含連續位,而且不應該重疊其他遮罩。 GDI 支援所有位欄位的組合。

[in] flGreen

如果 iMode 參數是 PAL_BITFIELDS,flRedflGreenflBlue 參數是顯示哪些位對應至紅色、綠色和藍色的遮罩。 每個遮罩都必須包含連續位,而且不應該重疊其他遮罩。 GDI 支援所有位欄位的組合。

[in] flBlue

如果 iMode 參數是 PAL_BITFIELDS,flRedflGreenflBlue 參數是顯示哪些位對應至紅色、綠色和藍色的遮罩。 每個遮罩都必須包含連續位,而且不應該重疊其他遮罩。 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

另請參閱

DEVINFO

DrvSetPalette

EngDeletePalette