1.4 RGB颜色
前面几节的内容帮助你学习了像素坐标、图形尺寸等基础知识。现在是时候学习数位色彩的基础知识了。回想一下童年,还记得手指画吗?通过混合最基础的三种原色,我们可以得到任何颜色。如果将所有颜色混合在一起,会导致浑浊的棕色。而且你混合的颜料越多,就变得越暗。
数位色彩(digital color)同样是混合三种基础颜色来实现的,但其运行机制和绘画颜料有所不同。首先,数位色彩的色光三原色是不同的:红、绿和蓝(RGB三个字母所对应的red、green和blue)。其次,数位色彩以光来合成颜色,而不是用颜料来合成,因此其颜色叠加模式也不同。
红+绿=黄
红+蓝=紫
绿+蓝=青(蓝绿)
红+绿+蓝=白
没有颜色=黑
上述假定颜色尽可能鲜艳,当然,你也可以只混合一定量的颜色。比如,一部分的红色加上一部分的蓝色等于灰色,一点红色加上一点蓝色等于深紫色。
尽管对你来说可能需要一些时间来消化数位色彩的运行机制,但使用RGB颜色进行编程和试验的次数越多,你越会发现它就像用手指来调和颜色一样,是很容易理解的。当然,你并不能对计算机说“在红色里面混合少量蓝色”,你必须要提供精确的数值。就像在灰度中,每一种单独的颜色元素用0(一点颜色也没有)到255(尽可能多的颜色)的数字来表示,RGB颜色是按照红绿蓝的顺序列出的。通过颜色混合试验,你可以更快地掌握RGB颜色。接下来,我会讲解一些使用常见颜色的代码。
注意,本书的印刷版本只能够呈现给你Processing草图的黑白版本,但在本书的配套网站http://learningprocessing.com上,你可以看到每一个草图的彩色版本。同样,你也可以在Processing网站(https://processing.org/tutorials/color/)看到一个彩色版本的教程。
示例1-3:RGB颜色
Processing提供了一个颜色选择器(color selector)来辅助你选择颜色。你可以通过“工具”(在菜单栏)找到“颜色选择器”,如图1-19所示。
练习1-5:完成下面的程序。猜测应该填写的RGB数值(可以阅读完下一章之后在Processing中检查你的答案)。你同样可以使用图1-19所示的颜色选择器。
练习1-6:下面每一行代码会生成什么颜色?将答案填写在空白处。