【问题标题】:what is a color map and when do I need one?什么是彩色地图,我什么时候需要?
【发布时间】:2014-10-13 03:11:00
【问题描述】:

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

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

另外,有没有关于这个问题的一些资源 - 我要搜索什么?

对于抱怨这个问题有多不具体的抱怨者: xlib 和 giflib 中的颜色图有什么区别?

【问题讨论】:

  • 这个问题似乎离题了,因为它似乎与编程无关。
  • 为什么?我把我的问题放在上下文中,肯定的。它是关于术语的,以及一个常用术语是如何由不同的库甚至在不同的编程语言中定义的。因此,如果这个术语似乎具有相似的含义。我不想问 c 库中的 xlib、giflib、jpeglib、libtiff、magick 或 gtk 中的“颜色映射”定义之间存在什么差异,因为我认为它们至少打算相同——这就是我一般问的原因.我认为你的结论毫无意义。
  • 那么您的意思是,没有办法假设不同 gfx 库在 c 或其他语言中使用的颜色图可能具有相似的含义?所以这只是一个由单个库单独定义的变量术语?即使这个术语很常用,编程语言中也没有关于颜色图的概念,但是颜色图有一个普遍的含义,这根本不适用于编程语言?那么实际上什么是彩色地图 - 我在谷歌中找不到任何东西,但我可以在 c-libs 中找到这个术语。
  • 您应该阅读这些库的文档或联系作者并询问他们。这不是一个编程问题,所以它不属于 SO。 (我并不是说这是一个坏问题或没用,只是不适合 SO。)

标签: graphics terminology xlib colormap color-management


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 2012-09-16
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2018-02-25
    相关资源
    最近更新 更多