色彩管理函数详解
1. 像素值生成与颜色映射表
在色彩管理中,每个掩码(mask)都位于对应的像素子字段内。通过将掩码的子集与每个像素值进行按位或运算,可以生成 ncolors × 2(nreds+ngreens+nblues) 个不同的像素值,这些值都会被请求分配。然而,在颜色映射表(colormap)中,只有 ncolors × 2nreds 个独立的红色条目、 ncolors × 2ngreens 个独立的绿色条目和 ncolors × 2nblues 个独立的蓝色条目,即使对于伪彩色(PseudoColor)也是如此。
当使用 XStoreColors 、 XStoreColor 或 XStoreNamedColor 更改像素值的颜色映射表条目时,像素会根据掩码进行分解,并更新相应的独立条目。 XAllocColorPlanes 函数在成功时返回非零值,失败时返回零,并且可能会产生 BadColor 和 BadValue 错误。
2. 释放颜色映射表单元格
要释放颜色映射表单元格,可以使用 XFreeColors 函数,其原型如下:
XFreeColors(display, colormap, pixels[], npixels, planes);
</
超级会员免费看
订阅专栏 解锁全文
1

被折叠的 条评论
为什么被折叠?



