为啥是 rgb 而不是 cmy? [关闭]

Posted

技术标签:

【中文标题】为啥是 rgb 而不是 cmy? [关闭]【英文标题】:Why rgb and not cmy? [closed]为什么是 rgb 而不是 cmy? [关闭] 【发布时间】:2011-09-25 18:27:21 【问题描述】:

既然三基色是青色、品红色和黄色 (CMY),为什么显示器和几乎所有的 GUI 组件都使用红色、绿色和蓝色 (RGB)? (如果我没记错的话,打印机使用 CMYK 模型。)

是否有历史、硬件/软件或其他原因?

【问题讨论】:

这个讨论没有建设性。要么列出一个有效的特定迁移目标,要么在此处结束讨论。 physics.stackexchange.com 对于许多常见的油漆,混合黄色和蓝色会产生绿色,但这是所讨论的特定油漆的特征。红色、黄色和蓝色被教导为三原色的事实仅仅是有多少常见的颜料碰巧表现出来的结果。即使没有任何化学反应,也有可能使一种看起来是蓝色的油漆和一种看起来是黄色的油漆在混合时呈现为中深红色。例如... ...如果“蓝色”涂料在洋红色染料中含有相对稀疏的蓝色颗粒悬浮液,而“黄色”涂料在黄色染料中含有密集的黄色颗粒悬浮液,则混合物两者中的一个会吸收所有蓝光(因为黄色染料)和所有绿光(因为洋红色染料)。蓝色颗粒不会反射剩下的任何东西,但黄色颗粒会反射红光,从而使油漆呈现红色。 【参考方案1】:

这 3 种加色实际上是红色、绿色和蓝色。打印机使用 cmyk(青色、品红色、黄色和黑色)。

正如http://en.wikipedia.org/wiki/Additive_color 解释的那样:如果你使用红黄蓝作为你的原色,你如何制作绿色?因为黄色是由等量的红色和绿色组成的。

【讨论】:

值得注意的是,油漆经常表现出混合行为,这是加法和减法的奇怪混合。即使混合黄色和蓝色墨水会产生接近黑色的东西,混合黄色和蓝色光会产生接近白色的东西,混合黄色和蓝色颜料通常会产生绿色。对于某些种类的油漆,红色、蓝色和黄色可以很好地作为一组原色,尽管值得注意的是两种看起来像相同的黄色阴影,与特定的蓝色混合时可能表现得非常不同。【参考方案2】:

这与硬件或软件无关。简单地说,RGB 是 3 种原色,可以以各种方式组合以产生其他颜色。它更多的是关于人类对颜色的约定/感知。

你可能会觉得this article很有趣。

【讨论】:

【参考方案3】:

基本颜色是 RGB 而不是 RYB。是的,大多数软件都使用传统的 RGB,可用于混合形成任何其他颜色,即 RGB 是基本颜色(如物理和化学文本中所定义)。

@jcomeau_ictx 所说的打印机用户 CMYK(青色、品红色、黄色和黑色)着色。 您可以查看以下文章了解 RGB 与 CMYK:RGB Vs CMYK

摘录中关于他们的更多信息:

红色、绿色和蓝色是“相加的 颜色”。如果我们将红色、绿色和 蓝光你会得到白光。 这是电视背后的负责人。 设置在你的客厅和 您现在正在盯着的显示器。 加色或 RGB 模式是 针对在计算机上的显示进行了优化 显示器和外围设备,尤其是 扫描设备。

青色、品红色和黄色是 “减色”。如果我们打印 白底青色、品红色和黄色墨水 纸,它们吸收发光的光 在页面上。因为我们的眼睛没有收到 从纸上反射的光,我们 感知黑色......在一个完美的世界! 印刷世界在 减色法,或 CMYK 模式。

【讨论】:

这也与(黑色)屏幕上的颜色添加和一张(白色)纸上的颜色去除有关【参考方案4】:

区别在于混合颜色会产生较浅的颜色还是较深的颜色。混合光时,结果是颜色较浅,因此混合红光和蓝光会变成较浅的粉红色。混合油漆(或墨水)时,红色和蓝色变成深紫色。混合油漆会产生较深的颜色,而混合光会产生较浅的颜色。 因此,正如您所说,对于油漆,原色是红黄蓝(或青洋红黄)。然而,对于光来说,原色是红绿蓝。 (几乎)不可能将红绿蓝漆混合到黄漆中,或者将红黄蓝光混合到绿光中。

【讨论】:

没错,但您应该说“叠加墨水会导致颜色更深”,而不是“混合颜料会导致颜色更深”。油漆更复杂,它们可能是漫射的,在这种情况下你的句子是错误的(黑色油漆与白色漫射油漆混合是灰色,比黑色更浅,而任何与黑色墨水混合的墨水总是会产生黑色)。 @galinette 我确信您所说的完全正确,但考虑到 *** 的受众是 IT 专家,我认为关于油漆和墨水的差异与上述问题的答案不太相关。不过,我确实很感激这些信息。 `(几乎)不可能将红绿蓝颜料混合到黄色颜料中`。以类似的方式,红色似乎是原色,不能(?)通过混合其他颜色来创建。但是,洋红色 + 黄色 = 红色 (wiki)。这是矛盾的吗? @transang 如果品红色和黄色可用,则您正在使用 [青色、品红色、黄色] 集合,而红色不能作为原色。在这种情况下,您需要能够从您拥有的三种颜色中产生红色,而洋红色 + 黄色的组合使颜色最接近红色。 @Bazz:如果我从原色(红色、绿色、蓝色)构建二次色(青色、洋红色、黄色),那么使用洋红色 + 黄色来构建红色。所以我使用了辅助色(洋红色、黄色)来构建主要颜色(红色)。这是矛盾的吗?【参考方案5】:

加色 (http://en.wikipedia.org/wiki/Additive_color) 和减色 (http://en.wikipedia.org/wiki/Subtractive_color) 之间存在差异。

使用加色,添加的越多,颜色就会越亮。这是因为它们正在发光。这就是为什么白天的光线(或多或少)是白色的,因为太阳几乎在所有可见波长光谱中都在发光。

另一方面,减色法混合的颜色越多,生成的颜色就越深。这是因为它们反射光。这也是黑色快速变热的原因,因为它吸收(几乎)所有光能而(几乎)不反射。

具体到您的问题,这取决于您使用的媒体。传统上,使用加色 (RGB) 是因为计算机图形的标准是计算机显示器,并且由于它会发光,因此对图形卡使用相同的结构是有意义的(颜色显示没有转换)。但是,如果您习惯于图形艺术和印刷,则使用减色模型(CMYK)。在 Photoshop 等程序中,您可以选择在 CMYK 空间中工作,尽管您使用哪种颜色模型并不重要:一组的原色是第二组的二次色,反之亦然。

P.D.:我父亲从事平面艺术工作,这就是我知道这一点的原因... :-P

【讨论】:

OP 询问了 RYB。答案中的红黄蓝在哪里? 因为红-黄-蓝不存在,它是青色-洋红色-黄色,是减色。他们已经解释过了。

以上是关于为啥是 rgb 而不是 cmy? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥是二进制而不是三元计算? [关闭]

为啥 2 % 3 = 2 而不是 1? [关闭]

模拟方法执行真实代码而不是模拟,为啥? [关闭]

为啥使用 Redux 而不是 Facebook Flux? [关闭]

为啥 .NET API 浏览器示例是用 C++ 而不是 C# 编写的? [关闭]

为啥 Google 选择 RenderScript 而不是 OpenCL [关闭]