如果您有放大镜,请在工作时将放大镜对准手机屏幕或电脑屏幕。你可以看到下面壮观的一幕。我们的屏幕是由这些小亮点组成的。三个亮点(红、绿、蓝)构成一个像素。由于像素非常小,而且距离很近,当它们发光时,用肉眼无法区分每个亮点发出的光。你只能看到三种光混合的颜色。这也体现了光的三基色(红、绿、蓝)的原理。根据三基色的强弱关系,可以组合出千变万化的颜色。
屏幕像素阵列
为了让每个像素能够表达每种颜色,我们将每种基色的亮度分为256个级别。 0级表示无光,255级表示最亮。一个像素可以表达的颜色为256(红)*256(绿)*256(蓝)=16,777,216种颜色,超过1600万种颜色!相比之下,我们能命名的颜色数量可以忽略不计。那么有没有办法来表现那些无数无名的颜色呢?在计算机领域,人们发明了很多表示颜色的方法。
RGB即Red(红)、Green(绿)、Blue(蓝)。颜色的表达方式为:rgb(红光强度、绿光强度、蓝色强度)。下面的例子是:
红色:rgb(255,0,0)表示红光最亮,蓝色和绿色都不亮。黄色:rgb(255,255,0)表示最亮的红光与绿光混合变成黄色。灰色:rgb(80,80,80)表示所有亮点都打开,实际上应该呈现白色,但是每个亮点的亮度不足,在黑色背景下看起来是灰色的。黑色:rgb(0,0,0) 好了,所有的亮点都不亮了,黑屏上形成了自然的黑色。
二、RGBA 表示法
RGBA表示Red(红)、Green(绿)、Blue(蓝)、Alpha(透明度),在三基色的基础上增加了透明度维度。这种表达目前仅限于软件和网络编程领域。同一颜色的透明度也分为256级。 0级表示完全透明,255级表示完全不透明。其他表达方式与rgb几乎相同。读者可以私下尝试一下。
三、十六进制表示法
1. 什么是十六进制?
我们从小接受的教育告诉我们,数学是用十进制形式计算的。
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18.254,255。
事实上,只要您愿意,您可以用任何底数进行计算。
例如,计算机一直在执行二进制运算:
0,1,10,11,100,101,110,111,1000,1001,1010,1011. 11111110,11111111。
您还可以使用八进制:
0,1,2,3,4,5,6,7,10,11,12,13. 376,377。
十六进制可能更简洁:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12.FE,FF。
上面列出的数字都显示了0到255之间的数字排列。显然,十六进制表达更加简洁。
2. 十六进制颜色值表示
编写计算机程序代码时,使用的默认数字是十进制。如果一个数字要用其他基数表示,则必须在该数字前面添加前缀以区分它。参考上面的数字序列,比如数字11,如果它不表达十进制数,则无法识别这个数字所表达的具体值。因为可以是二进制的3,也可以是八进制的8,也可以是十六进制的17。加上前缀后,就可以清楚地区分了。
二进制: 0b11=3;八进制: 0o11=9;十六进制:0x11=17;如果颜色值以十六进制表示,则在数字前添加前缀#,以将颜色值与其他字符串区分开
例如:#FF32EF,用来表示紫色(不是纯紫色,纯紫色值为#FF00FF)。
前两位FF表示红光强度为0xFF(255)。中间两位数字32表示绿光强度为0x32(50)。接下来的两位数字FF表示蓝光强度为0xEF(239)。该颜色值相当于:#FF32EF=RGB(255,50,239)
四、十六进制转十进制
我不会在这里进行太多的数学解释。这是一个例子。我希望你能找到规律并找出相似之处。
0到15之间的数字以十六进制表示如下:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。
十进制: 3215=3 * 10^3 + 2 * 10^2 + 1 * 10^1 + 5 * 10^0;
十六进制:0xDF=13 * 16^1 + 15 * 16^0=223;
五、取拾屏幕上色值的简单方法
使用QQ、微信截图时,鼠标附近会显示RGB(数字、数字、数字)字样。这是当前鼠标点的颜色值。只要记下这三个数字就可以直接使用了。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/4101.html
用户评论
哇,这个标题好吸引人,我一直好奇网络编程里怎么表达那些无法用语言描述的颜色!
有16位网友表示赞同!
好想学点网络编程,看看那些未命名的颜色是如何用代码呈现出来的!
有8位网友表示赞同!
网络编程里的颜色表达,真是太神奇了,期待看到具体的操作方法!
有11位网友表示赞同!
感觉这个标题很专业,期待作者能分享一些网络编程中颜色表达的具体案例。
有17位网友表示赞同!
未命名的颜色?这太有意思了,网络编程里是如何处理这些颜色信息的?
有12位网友表示赞同!
网络编程中如何表达那些未命名的颜色,这篇文章看起来很有深度!
有7位网友表示赞同!
网络编程中颜色表达的奥秘,真想深入了解一下!
有6位网友表示赞同!
期待文章能揭秘网络编程中颜色表达的秘密!
有19位网友表示赞同!
编程语言怎么表达那些无法命名的颜色呢?很想知道答案!
有17位网友表示赞同!
网络编程中,如何将那些无法用语言描述的颜色转化为代码?
有8位网友表示赞同!
那些未命名的颜色,网络编程是如何识别和表达的?
有11位网友表示赞同!
网络编程里颜色表达方法,真是太神奇了!
有14位网友表示赞同!
这篇文章很有深度,期待能学习到一些网络编程中颜色表达的知识。
有19位网友表示赞同!
好奇网络编程里是如何实现那些无法命名的颜色的!
有13位网友表示赞同!
网络编程里那些未命名的颜色,是怎么用代码表达的呢?
有17位网友表示赞同!
网络编程中如何用代码实现那些无法命名的颜色,真是太神奇了!
有5位网友表示赞同!
这篇文章太棒了,学习到了网络编程中颜色表达的很多新知识!
有14位网友表示赞同!
网络编程里颜色表达的技巧,真是让人大开眼界!
有13位网友表示赞同!
网络编程中颜色表达的奥秘,这篇文章真是让我受益匪浅!
有15位网友表示赞同!
感觉网络编程中颜色表达的技巧,真是太奇妙了!
有13位网友表示赞同!