RGB颜色 三者都是0为黑色而255是白色 解释
问题:
RGB颜色 都是0为黑色而255是白色 与日常生活的黑色白色差距怎么那么大,(与物理学中的黑色吸收光是否相悖)而且为什么要这样定义呢?
来源:知乎
这是因为两种颜色的产生方法不一样。一种是做加色法(additive),另一种是做减色法(Subtractive)。
加色法是光源合成光线的原理。显示屏是一个光源,本身可以发出红、绿、蓝三种颜色的光线。通过调节红、绿、蓝三种颜色的强度,来合成其它。
减色法是物体表面反射光线的原理。一些物体可以反射所有波长的光线,比如白纸,所以我们看到画纸是白色的;而像用来画画的颜料只能反射一部分波长的光线,红色的颜料反射红色的光线,其余光线被颜料吸收了(减去了),所以我们只看到红色。
<img src="https://pic2.zhimg.com/4a18f6da540f6322d59be9b29ae9d61d_b.jpg" data-rawwidth="250" data-rawheight="187" class="content_image" width="250">
加色法示意图。有红、绿、蓝三个光源叠加,我们在photoshop里设置(0,0,0)就相当于告诉显示屏把这个像素点红、绿、蓝三盏灯都熄灭,然后我们在屏幕上就看到了一个黑点。而(255,255,255)就相当于让三盏灯亮度达到最大,于是中心就呈现了一个白斑。
<img src="https://pic3.zhimg.com/6f388e67ac8ff1faee5758086d7fd122_b.jpg" data-rawwidth="192" data-rawheight="217" class="content_image" width="192">
减色法正好相反。本来画纸可以反射所有颜色,然后我们用画笔涂上一种颜料,这种颜料只反射其中一种颜色,其它颜色的光线都被它吸收了。因为粉色颜料吸收除粉色以外所有光线,青色颜料吸收除青色以外所有光线,黄色颜料吸收除黄色以外所有光线,所以在三种颜料的叠加区域所有颜色都被吸收了,我们只能看到黑色。(插一句,夏天穿黑衣服吸热就是由于黑衣服比白衣服能吸收更多的光能,能量多了温度就上升了)
RGB颜色 三者都是0为黑色而255是白色 解释的更多相关文章
- RGB颜色原理
参考:http://www.cnblogs.com/harrytian/archive/2012/12/12/2814210.html 工作中经常和颜色打交道,但却从来没有从原理上了解一下,这篇文章希 ...
- RGB颜色二值化
原理:RGB颜色根据计算'灰度'的公式,可以转化为黑白2种颜色,实现二值化. 业务场景的应用:可以根据背景颜色,取一个黑色或白色的颜色,作为背景色上的文案字体颜色 具体代码: function get ...
- iOS中RGB颜色转换
iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如: // RGB颜色转换(16进制->10进制) #define UIColorFromRGB(rgbValue) [UI ...
- 相似的RGB颜色——算法面试刷题3(for google),考察二分
在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...
- 基于OpenCV的火焰检测(二)——RGB颜色判据
上文跟大家分享了在做火焰检测中常用到的图像预处理方法,从这一篇博文开始,我将向大家介绍如何一步一步地检测出火焰区域.火焰提取要用 到很多判据,今天我要向大家介绍的是最简单的但是很有效的判据--RGB判 ...
- RGB颜色中的参数是变量的时候,为什么要加上两个+号在左右?
<script> function draw(){ var c=document.getElementById("mycanvas"); var cxt=c.getCo ...
- Sass函数--颜色函数--RGB颜色函数
RGB颜色函数-RGB()颜色函数 主要分为 RGB , HSL 和 Opacity 三大函数,当然其还包括一些其他的颜色函数,比如说 adjust-color 和 change-color 等.1. ...
- 将16进制的颜色转为rgb颜色
在前端面试过程中,常常会遇到这样一种类型的题目: 使用js将16进制的颜色值转为rgb颜色! 反而在项目中,不怎么遇到这种问题,也很少有这种需求的项目. 但毕竟面试中常常遇到,我自己在之前的面试的时候 ...
- iOS常用RGB颜色的色值表
常用RGB颜色表 R G B 值 R G B 值 R G B 值 黑色 0 0 0 #000000 黄色 255 255 0 #FFFF00 浅灰蓝色 176 224 230 #B0E0E6 象牙黑 ...
随机推荐
- C# 位运算及实例计算
前言: 平时在实际工作中很少用到这个,虽然都是一些比较基础的东西,但一旦遇到了,又不知所云.刚好最近接触了一些相关这方面的项目,所以也算是对 这些内容重新温习实践了一遍.所以这篇不仅作为个人备忘,也分 ...
- iOS中 分类(category)与扩展(Extension)的区别?
1.分类(category)的作用 (1).作用:可以在不修改原来类的基础上,为一个类扩展方法.(2).最主要的用法:给系统自带的类扩展方法. 2.分类中能写点啥? (1).分类中只能添加“方法”,不 ...
- 并发编程-concurrent指南-阻塞队列-数组阻塞队列ArrayBlockingQueue
ArrayBlockingQueue类是实现了BlockingQueue. ArrayBlockingQueue是一个有界的阻塞队列,其内部实现是将对象放在一个数组中. 放入元素方法: (1) add ...
- 2018.10.20 2018NOIP冲刺之酒厂选址
题目传送门 明显能够看出有一个建图求路程的优化 然而发现10000*10000爆空间QAQ 为了做一些初始化方面的优化 我们发现了一个叫做前缀和的东西 可以在环上查到两个之间的最短距离 同时还要做一些 ...
- Vue技术点整理-Vue Router
路由 Vue Router 对于单页面应用来说,如果涉及到多个页面的话,就必须要使用到路由,一般使用官方支持的 vue-router 库 一,Vue Router 在项目中的安装引用 1,在页面中使用 ...
- ORM的记录添加和删除
记录查询包括:跨表查询(重点), 分组查询,聚合查询, F与Q查询 查询之前需要先添加数据: 一对多添加: def addrecord(request): Book.objects.create( ...
- 2. python Mac 安装 dlib
在macOS上: 从Mac App Store安装 XCode(或安装XCode命令行工具)(最低版本是:xcode8 以上) 有 homebrew 安装 有 CMAKE 安装 基础包 :numpy ...
- android_layout_linearlayout(二)
android的线性布局linearlayout的研究没有尽头.看了官网关于线性布局的一个例子,捣鼓一阵,发现的迷惑记录在此. 一.先看看官网xml <?xml version="1. ...
- Java编程思想:NIO知识点
import java.io.*; import java.nio.*; import java.nio.channels.FileChannel; import java.nio.charset.C ...
- 7月18日刷题记录 二分答案跳石头游戏Getting
通过数:1 明天就要暑假编程集训啦~莫名开心 今天做出了一道 二分答案题(好艰辛鸭) 1049: B13-二分-跳石头游戏(二分答案) 时间限制: 5 Sec 内存限制: 256 MB提交: 30 ...