RGB 与 HSB/HSV 的关系
能理解 RGB 模式中确定数值的各种颜色,但怎么理解「明度」、「饱和度」、「色相」等概念?


从第一张图可以简单得出以下结论:
- 明度——这个最简单,rgb中,三色光的值,其加起来的和越大,明度就越大。
就这么简单。
那么这个明度意味着什么?很显然,就是光总量有多少,光越多,明度越高
2.纯度:
(1)凡是在rgb中,有一个或者两个值为零的,都是纯度值最高的纯色。
(2)如何确定两个复杂颜色(即没有一个rgb值为零的颜色)的纯度比较?看图

如图两个颜色,如何确定哪个纯度高?
简单,rgb三个值,取最高值减去最低值,结果越大,纯度越高。
那么,这意味着纯度是什么呢?
显然,纯度就意味着三色光的混合程度,混合程度越高,纯度就越低——如果你把三色光调成一个数值,这个颜色就是纯灰色了
3.色相:这个相对复杂一点
(1)现在版本的rgb,色相可以在rgb条的颜色上实时反映了,其实非常好判断。
但是,这个问题的关键在于,色相究竟意味着什么。
再翻上去看那张图,在RGB下边有一个彩色长条,这个长条包含了所有的颜色,它有很多形式——色环,色盘,色立体等等。我们如果只看这个长条的横坐标,那么它就是所谓的色环——这个长条首尾都是红色,所以它其实可以接起来。
那么,理解了这个,我就可以简单的解释色相是什么——色相就是你调出的任何一个颜色,按光的比例关系进行变换(这个变换是为了去除明度和纯度的影响)后,总是可以对应到色环上一个固定的位置——这个位置就是色相——你可以理解成色彩的方向,或者色彩的本相。那么,这样做有什么用呢?1.这样我们就可以叫出颜色的名字——比如上图左边是一个橙色,右边是一个绿色。
2.有很多色彩规律蕴含在其中。比如色彩的冷暖规律,色彩搭配的色彩层次,色彩冲突的调整等等,都是基于色环来研究的
反色与补色的计算方式
反色: CNew = 255 - COld,也就是 CNew + COlde = '#ffffff' 纯白色
补色: CNew = Max(R,G,B) + Min(R,G,B) - COld,也就是 CNew + COlde = 灰色
RGB 与 HSB/HSV 的关系的更多相关文章
- 色彩空间RGB/CMYK/HSL/HSB/HSV/Lab/YUV基础理论及转换方法:RGB与YUV
之前做个设计,现在从事IT,脑子里面关于RGB,RGBA,CMY,CMYK,YUV,但是具体理论还是不扎实.若干年前之前写过<水煮RGB与CMYK色彩模型—色彩与光学相关物理理论浅叙>&l ...
- RGB和HSB的转换推算
RGB三原色是基于人肉眼对光线的生理作用.人眼内有三种椎状体“对这三种光线频率所能感受的带宽最大,也能独立刺激这三种颜色的受光体”,因此RGB称为三原色.比如,黄色波长的光对人眼的刺激效果,和红色与绿 ...
- RGB与HSB之间的转换公式
先来了解一些概念: 1.RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为: 2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色 ...
- RGB,CMYK,HSB各种颜色表示的转换 C#语言
Introduction Why an article on "colors"? It's the same question I asked myself before writ ...
- RGB与HSB之间转换
先来了解一些概念: 1.RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为: 2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色 ...
- C# RGB和HSB相互转换
背景 最近做的项目中有这样一个场景,设置任意一种颜色,得到这种颜色偏深和偏浅的两种颜色.也就是说取该颜色同色系的深浅两种颜色.首先想到的是调节透明度,但效果不理想.后来尝试调节颜色亮度,发现这才是正解 ...
- c# 颜色RGB到HSB互相转换
/// <summary> /// 色相,饱和度,亮度转换成rgb值 /// </summary> /// <returns></returns> pu ...
- RGB颜色空间、HSV颜色空间的理解
HSV是把H(色相),S(饱和度),V(亮度)当做色值来定位颜色的空间. 1.HSV模型 色相:取值范围是0~360度,用来表示颜色的类别.其中红色是0度,绿色是120度,蓝色是240度.饱和度:取值 ...
- e585. Converting Between RGB and HSB Colors
This example demonstrates how to convert between a color value in RGB (three integer values in the r ...
随机推荐
- 第十六篇 -- QListWidget与QToolButton(功能)
效果图: 添加的部分,就是对几个action绑定了槽函数,完成相应的功能. listWidget操作的都是item,添加一个item,删除一个item,插入一个item等等.那么只需要知道item的几 ...
- LUSE: 无监督数据预训练短文本编码模型
LUSE: 无监督数据预训练短文本编码模型 1 前言 本博文本应写之前立的Flag:基于加密技术编译一个自己的Python解释器,经过半个多月尝试已经成功,但考虑到安全性问题就不公开了,有兴趣的朋友私 ...
- AWS 安全信息泄露-----21天烧了27万
安全问题一直都是个老生常谈的话题,对于我们做IT的来说,是更为重视的.从使用开发工具的是否授权合规,到从事的工作内容是否合法.我们都应该认真的思考一下这些问题,毕竟我们要靠IT这门手艺吃饭. 2021 ...
- 创建一个计算器的函数calc含有两个数字,调用函数的函数传递一个函数,分别是实现加减乘除
function calc(num){ var n1=8; var n2=2; num(n1,n2); } //加 functiong jia(a,b){ console.log( a+b ); } ...
- S01-晓亮的电脑软件安装过程文档 腾讯QQ 595076941 2019年10月
S01-晓亮的电脑软件安装过程文档 腾讯QQ 595076941 2019年10月 本文档的创建作者的腾讯QQ聊天号码是 595076941 S02-电脑软件安装过程中不要随意关闭窗口除非必需关闭窗口 ...
- vulnhub-DC:7靶机渗透记录
准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...
- web笔记随笔
1.Web服务组件 8.第三方内容:广告统计.mockup 7.Web前端框架: HTML5. jQuery. Bootstrap 6.Web应用: CMS. BBS. Blog 5.Web开发框架: ...
- C++ 结构体案例2 升序打印数组中的元素
1 //结构体案例 2 2 #include<iostream> 3 #include<string> 4 #include<ctime> 5 using name ...
- jmeter永久调为中文
将jmeter调为中文有两种方法,一是在软件设置中切换,二是修改配置文件. 第一种方式是临时的,下次重新打开会变回为英文 第二种方式是永久的,每次打开都会显示自己配置好的语言 第一种方式: 第二种方式 ...
- Linux命令(一)之目录结构、Linux终端操作、关机重启等一些基本操作
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...