关于颜色
2017-01-14 10:32
330 查看
- 光,电磁波和颜色
光是一种电磁波,频率被限定在较窄的范围内。 不同频率(对应不同的波长)的电磁波(光)有不同的颜色。可见光的最长波长是780nm,对应红色;最短波长是380nm,对应于紫色。 太阳光可以发射可见范围内所有频率的波长,表现为白光。当白光遇到物体时,一些频率的电磁波被反射,一些频率的电磁波被吸收。反射光中电磁波的频率决定了我们看到的颜色。
反射光中能量最高的频率叫做hue(色彩,色调),也叫作color。 - 颜色与心理效应
当光照到我们的眼睛中时,除了颜色之外,眼睛还有其他的感觉。-
brightness(亮度):光的总能量,也就是电磁波的总能量
- purity或saturation(饱和度):描述光和单色的接近程度,可以理解为电磁波的在频率范围内的能量分布。如果能量分布在一个频率上,那么饱和度最高。
chromaticity(色度,色调)是purity和hue的综合衡量,和亮度没有关系。
图片链接 - color model
任何可以用一些参数来表示颜色的数学模型叫做color model。
没有一个模型可以表示所有的颜色。所以我们用不同的颜色模型来描述不同的颜色特性。
在一个color model中,我们选择一些频率的光作为基准,赋予这些频率的光不同的能量,然后把这些光混合起来,得到不同的颜色。这些被选为基准的光叫做primary color,可以用基准光来表示的颜色范围叫做color gamut。
如果我们选用RGB作为primary color,在不同频率的光上,RGB的能量值如下。由于能量不能是负的,所以以RGB作为primary color,不能得到500nm附近的光。 - XYZ color model
由于不存在三种颜色,它们的组合可以表示所有的颜色,所以就造出来三种不存在的颜色,可以用它们来表示所有的颜色。这三种想象中的颜色叫做XYZ颜色,这种模型叫做XYZ color model。 于是任意一个颜色可以用这三个颜色表示。归一化以后,可以用两种颜色来表示所有的颜色。白色所在的点叫做illuminant C。-
确定color gamut
给定3个颜色,在图中就是三个点。根据这三个点做出的三角形及其内部的区域就是以这三个基准色为primary color的color gamut。 由于这个图是曲线,没有三个点可以覆盖所有的颜色,因为没有一个color model可以表示所有的颜色。 - 确定互补色
一个颜色C1和它的互补色C2一定和C点对称。C1和C2到C的距离是产生白色需要的能量比值。 - 确定hue和purity
如图,确定F点的hue,连接CF,找到和边缘的交点G,G点代表的频率即是dominant wavelength。 CF/CG可以表示purity。 -
相关文章推荐
- 关于文章的背景颜色的编辑
- 关于水波纹的添加已经定义颜色以及低版本兼容
- 关于CAJViewer阅读器如何修改做标记的颜色?
- 关于c++颜色的控制
- android 同意协议、服务等,一行文字中掺杂关于其他颜色字体。同时实现超链接点击跳转等功能.
- c++关于设置设置控制台背景及字体颜色
- abap--关于在REUSE_ALV_GRID_DISPLAY将单元或行标识不同的颜色的处理收集
- Android 处理OnItemClickListener时关于焦点颜色的设置问题
- 关于网页界面颜色
- 关于Mat转UIImage之后颜色不对的解决方法
- 关于安卓颜色代码透明度的一点疑问
- 关于svg格式图片颜色更改
- delphi中关于dbgrideh的DrawColumnCell事件,窗体重画,让每个单元格以及字体显示不同的颜色
- max 关于面数的脚本,这个在帮助里面还有很多的茶壶什么的 还有面数显示颜色什么的, 有需要时 学习下。
- 关于颜色值透明度的设置
- 关于vc中Button的颜色字体与背景图片的修改
- 关于Wireshark 分析出现的各种颜色意义
- 网站内容可访问性——关于背景与前景颜色的对比标准
- 关于textview中表示文字段落时,特定区域显示高亮颜色和点击事件的方法
- 关于颜色