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



从第一张图可以简单得出以下结论:

  1. 明度——这个最简单,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 的关系的更多相关文章

  1. 色彩空间RGB/CMYK/HSL/HSB/HSV/Lab/YUV基础理论及转换方法:RGB与YUV

    之前做个设计,现在从事IT,脑子里面关于RGB,RGBA,CMY,CMYK,YUV,但是具体理论还是不扎实.若干年前之前写过<水煮RGB与CMYK色彩模型—色彩与光学相关物理理论浅叙>&l ...

  2. RGB和HSB的转换推算

    RGB三原色是基于人肉眼对光线的生理作用.人眼内有三种椎状体“对这三种光线频率所能感受的带宽最大,也能独立刺激这三种颜色的受光体”,因此RGB称为三原色.比如,黄色波长的光对人眼的刺激效果,和红色与绿 ...

  3. RGB与HSB之间的转换公式

    先来了解一些概念: 1.RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为: 2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色 ...

  4. RGB,CMYK,HSB各种颜色表示的转换 C#语言

    Introduction Why an article on "colors"? It's the same question I asked myself before writ ...

  5. RGB与HSB之间转换

    先来了解一些概念: 1.RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为: 2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色 ...

  6. C# RGB和HSB相互转换

    背景 最近做的项目中有这样一个场景,设置任意一种颜色,得到这种颜色偏深和偏浅的两种颜色.也就是说取该颜色同色系的深浅两种颜色.首先想到的是调节透明度,但效果不理想.后来尝试调节颜色亮度,发现这才是正解 ...

  7. c# 颜色RGB到HSB互相转换

    /// <summary> /// 色相,饱和度,亮度转换成rgb值 /// </summary> /// <returns></returns> pu ...

  8. RGB颜色空间、HSV颜色空间的理解

    HSV是把H(色相),S(饱和度),V(亮度)当做色值来定位颜色的空间. 1.HSV模型 色相:取值范围是0~360度,用来表示颜色的类别.其中红色是0度,绿色是120度,蓝色是240度.饱和度:取值 ...

  9. 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 ...

随机推荐

  1. Ming Yin(@kalasoo)在知乎的几个回答 : 观点犀利

    这篇文章汇总了掘金前站长Ming Yin(阴明)在知乎的几个犀利的观点,原文可访问zhihu.com/kalasoo 由@flightmakers转载(收藏)在此 你是否有个人网站.可否和大家分享一下 ...

  2. C++ //关系运算符重载 < = > !=

    1 //关系运算符重载 < = > != 2 #include <iostream> 3 #include <string> 4 using namespace s ...

  3. postman之变量

    前言:postman可以设置(环境变量)和(全局变量) (环境变量):环境变量只能在选择的环境中使用,可以有多组,常用在设置URL和密码当中 (全局变量):只能有一组,整个环境都可以应用 [环境变量] ...

  4. Linux中的DNS的正解析

    目录 一.DNS概述 1.1.DNS定义 1.2.域名结构 1.3.DNS域名解析的方式 1.4.DNS服务器类型 1.5.BIND服务 BIND服务器端程序 二.构建DNS域名正向解析步骤 一.DN ...

  5. Golang语言系列-05-数组和切片

    数组和切片 数组 概念 数组是同一种数据类型元素的集合:数组的长度必须是常量,并且长度是数组类型的一部分,一旦定义,长度不能变 例如:[5]int 和 [10]int 是不同的数组类型 使用时可以修改 ...

  6. 从官网下载历史版本的java

    下载历史版本的java 因为一些bug需要降低java版本来尝试解决,但是好多都要收费,我就搞不明白了,官网都有免费的我要你的收费软件干嘛 首先直接搜索java,进入Oracle,或者 Java SE ...

  7. 安鸾CTF-cookies注入

    什么是cookie注入? cookie注入的原理是:修改cookie的值进行注入 cookie注入其原理也和平时的注入一样,只不过注入参数换成了cookie 例如:PHP $_REQUEST 变量变量 ...

  8. Pikachu-php反序列化、XXE、SSRF模块

    一.PHP反序列化 理解这个漏洞需要明白php中的两个函数,serialize(),unserialize() 1)序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下 ...

  9. 002 TCP/IP模型

    一.TCP/IP 的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属于TCP/IP协议,而T ...

  10. bluecms安装错误一记

    菜鸡兴致勃勃下载了bluecms1.6准备大干一番 环境 phpstudy mysql 5.7.26 apache 2.4.39 php 7.3.4 结果安装第四步发现个这个问题   开始还以为自己这 ...