默认调色板

【勇芳软件工作室】汉化HomePreviousNext

默认情况下,【默认调色板】是一组颜色值,用于标识可用于设备上下文的颜色。只要应用程序为支持调色板的设备创建上下文,Windows就会将默认调色板与上下文相关联。默认调色板确保颜色可供应用程序使用,无需任何进一步的操作。

默认调色板通常有20个条目(颜色),但条目的确切数目可能因设备而异。该数字等于GetDeviceCaps函数返回的NUMCOLORS值。应用程序可以通过枚举实心笔来检索默认调色板中颜色的颜色值,这些技术用于发现非标准设备上可用的颜色。默认调色板中的颜色取决于设备。例如,显示设备通常使用VGA显示器的16种标准颜色和Windows定义的其他4种颜色。打印机设备可能会使用其他默认颜色。

使用默认调色板时,应用程序使用颜色值来指定笔和文字颜色。如果请求的颜色不在调色板中,Windows将通过使用调色板中最近的颜色来近似颜色。如果应用程序请求不在调色板中的实体画笔颜色,Windows将通过对调色板中的颜色进行抖动来模拟颜色。

为了避免近似和抖动,应用程序还可以通过使用调色板索引而不是颜色值来指定笔,画笔和文本颜色。调色板索引是标识特定调色板条目的整数值。应用程序可以使用调色板索引代替颜色值,但必须使用PALETTEINDEX宏创建索引。

调色板索引仅适用于支持调色板的设备。为了避免此设备依赖,使用相同代码绘制到调色板和非调色板设备的应用程序应使用调色板相对颜色值来指定笔,画笔和文本颜色。除了创建实体画笔之外,这些值与颜色值相同。(在调色板设备上,由调色板相对颜色值指定的实心画笔颜色需要进行颜色近似而不是抖动)。应用程序必须使用PALETTERGB宏来创建调色板相对颜色值。

Windows不允许应用程序更改默认调色板中的条目。要使用默认调色板以外的颜色,应用程序必须创建自己的逻辑调色板,并将该调色板选择到设备上下文中。