graphics - 什么是颜色图?我什么时候需要颜色图?

标签 graphics terminology xlib colormap color-management

计算机图形学中的“彩色图”有什么一般概念或定义吗?您有时会在某些库中偶然发现这个术语 - 那么我可以假设彩色图具有特定的功能和目的吗?

我到底需要什么颜色图以及什么时候需要它?

此外,是否有关于此问题的一些资源 - 我该搜索什么?

对于提示这个问题不具体的人: xlib 和 giflib 中的颜色图有什么区别?

最佳答案

颜色图(通常称为颜色表调色板)是用于映射像素数据的颜色数组(表示为颜色表中的索引)到实际颜色值。

某些图形显示器,尤其是较旧的图形显示器,无法为每个像素显示任意颜色。相反,每个像素都存储为一个小数字,用作颜色表的索引。

例如,VGA 在某些模式下通常能够同时显示多达 256 种独特的颜色。但由于屏幕的像素远多于 256 个,因此您无法为每个像素设置任意 RGB 值。相反,您将为每个像素存储一个字节,该字节将用于在颜色表中查找实际颜色。

如今,颜色表不再那么重要,但某些图形文件格式仍然表示为颜色表和由表中索引组成的像素数据,而不是直接将像素编码为某些颜色空间(如 RGB)中的颜色。因此,如果您编写代码来直接处理这些格式,则必须了解颜色表的工作原理。

如果您在嵌入式系统中工作,您可能会遇到仍使用颜色表的有限显示。 Xlib、Windows API 和其他图形 API 仍然具有处理颜色表有限的系统的功能,尽管我怀疑现在是否有很多程序员使用它们。

关于graphics - 什么是颜色图?我什么时候需要颜色图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393226/

相关文章:

c++ - 在 AMD CCC 中启用 OpenGL 三重缓冲 + vsync 会破坏我们的应用程序

sql-server - 查找、扫描和查找之间有什么区别?

c++ - X11,更改分辨率并使窗口全屏

error-handling - 如何使Xlib打印错误消息,但不退出?

java - 'createBufferStrategy' 返回的值会发生什么情况?

android - Canvas 操作与元素操作

opengl - 如何在 PBR 中实现金属工作流程?

frameworks - 什么是网络框架?与 LAMP 相比如何?

machine-learning - 为什么我们将 CNN 中的全连接层称为 "the Top Layers"?

linux - Linux 上 dlopen() 的有效相对路径?