c - 可以在 Xlib 中使用原始 RGB 作为颜色吗?
问题描述
在 Xlib 中有一个名为XSetWindowBorder()的函数,它接受一个颜色值(一个无符号长整数)。在文档中,它谈到了“颜色映射中的条目”和其他内容,但我只是用正常编码的 RGB 颜色尝试了它,它似乎可以工作。这有什么潜在的陷阱?
我的编码功能是:
unsigned long _RGB(int r,int g, int b)
{
return b + (g<<8) + (r<<16);
}
解决方案
您的显示器可能使用 TrueColor(24 位深)视觉效果。在那个视觉上,颜色图本质上实现了一个身份映射:一个颜色图条目等于它的索引。在 PseudoColor 或 StaticColor 视觉效果上,这不再是真的了。您的程序在少于 24 位的视觉效果上将无法运行或无法正常运行。
推荐阅读
- php - 一个项目的多个安全配置
- regex - 正则表达式匹配除文件及其父目录之外的路径
- electron - 已安装的电子应用程序中缺少资源图像(图标和渲染器窗口图像)
- node.js - 处理 microsoft DOT/DOTX 文件并保存为 microsoft DOCX : Electron JS
- javascript - 以状态存储数组中的项目
- java - int 像字节一样溢出
- regex - 正则表达式在 find 中有效,但在 .sublime-syntax 文件中无效
- r - 我想在具有许多属性的数据框中估算缺失值,如果在 R 中使用 library(Hmisc),循环如何?
- algorithm - 在有向无环加权图中连接两个随机节点
- django - Django:使用 __gte 的查询集在序列化后显示错误的结果