将灰度值转换为RGB表示?

Rab*_*ski 21 rgb colors grayscale

如何将灰度值(0-255)转换为RGB值/表示?它适用于SVG图像,它似乎没有灰度支持,只有RGB ......

注意:这不是RGB - >灰度,已在另一个问题中回答,例如将RGB转换为灰度/强度)

Ate*_*ral 29

快速而肮脏的方法是重复RGB的每个分量的灰度强度.因此,如果你有灰度120,它会转换为RGB(120,120,120).

这很快且很脏,因为您获得的有效亮度取决于您正在使用的设备的R,G和B子像素的实际亮度.


izb*_*izb 28

如果您在变量中有灰度值并希望以0x00RRGGBB的形式生成新值,那么快速执行此操作的方法是:

int rgb = grey * 0x00010101;
Run Code Online (Sandbox Code Playgroud)

用您选择的语言或同等语言.

  • +1用于直接乘法.本能是潜入位移和按位OR,但这更简单,只是工作. (5认同)

小智 10

将灰度转换为RGB很简单.只需使用R = G = B =灰度值.基本思想是颜色(在显示器上以RGB的形式观察)是一个附加系统.

http://en.wikipedia.org/wiki/Additive_color

因此,将红色加到绿色会产生黄色.在等量的混合物中加入一些蓝色,你就会得到中性色.完全打开[红色,绿色,蓝色] = [255 255 255]会产生白色.[0,0,0]产生监视器黑色.当R = G = B都相等时,中间值将产生给定灰度级的名义中性色.

一个小问题取决于您如何查看颜色,它可能不是完全中立的.这取决于您的显示器(或打印机)的校准方式.从这一点来看,我们可以深入探讨色彩科学的深度.我会在这里停下来


Eri*_*rik 7

灰度意味着所有值具有相同的强度.将所有通道(RGB)设置为等于灰度值,您将获得RGB黑白图像.

  • 注意:"黑白"在口语用法中表示"灰度" (8认同)
  • 好吧,不.实际上你不会有黑白图像.您将拥有一个由各种灰色阴影组成的图像.在较低级别,实际像素将由红色,绿色和蓝色点组成,处于强度水平,使得从远处观看此人的人将看到中性图像.闭上眼睛,在显示器上查看名义上的灰色像素.你会看到红色,绿色和蓝色点的复合. (3认同)