【问题标题】:X11: how to properly support a 16-bit per pixel displayX11:如何正确支持每像素 16 位的显示
【发布时间】:2015-08-25 04:01:31
【问题描述】:

我正在做一些 xlib 编程,我必须支持 16 位显示。据我所知,它作为真彩色显示器运行。是否有关于如何分配颜色和释放它们的经验法则?通常在 24 位显示器上,我只使用原始 RGB 值作为颜色。

【问题讨论】:

  • 同样的事情,只有你的颜色是每个 5 位或 5/6/5。您可以通过 R、G 和 B 口罩知道您拥有哪种口罩。
  • X11 是否提供任何方便的功能来从 RGB 转换为例如 5:6:5 真彩色像素值,或者我当前视频卡的子像素排列是什么?
  • X11 没有,但那里有很多图像库。
  • 嗯。自己移动和掩盖一些位并不难。

标签: c x11 xlib


【解决方案1】:

TrueColor 视觉对象具有固定的颜色图,因此您所能做的就是像往常一样使用 XAllocColor() 将 rgb 转换为像素值。如果您愿意,XGetVisualInfo() 将返回您需要移动和屏蔽 rgb 值的位掩码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 2011-07-29
    相关资源
    最近更新 更多