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 ...
随机推荐
- Ming Yin(@kalasoo)在知乎的几个回答 : 观点犀利
这篇文章汇总了掘金前站长Ming Yin(阴明)在知乎的几个犀利的观点,原文可访问zhihu.com/kalasoo 由@flightmakers转载(收藏)在此 你是否有个人网站.可否和大家分享一下 ...
- C++ //关系运算符重载 < = > !=
1 //关系运算符重载 < = > != 2 #include <iostream> 3 #include <string> 4 using namespace s ...
- postman之变量
前言:postman可以设置(环境变量)和(全局变量) (环境变量):环境变量只能在选择的环境中使用,可以有多组,常用在设置URL和密码当中 (全局变量):只能有一组,整个环境都可以应用 [环境变量] ...
- Linux中的DNS的正解析
目录 一.DNS概述 1.1.DNS定义 1.2.域名结构 1.3.DNS域名解析的方式 1.4.DNS服务器类型 1.5.BIND服务 BIND服务器端程序 二.构建DNS域名正向解析步骤 一.DN ...
- Golang语言系列-05-数组和切片
数组和切片 数组 概念 数组是同一种数据类型元素的集合:数组的长度必须是常量,并且长度是数组类型的一部分,一旦定义,长度不能变 例如:[5]int 和 [10]int 是不同的数组类型 使用时可以修改 ...
- 从官网下载历史版本的java
下载历史版本的java 因为一些bug需要降低java版本来尝试解决,但是好多都要收费,我就搞不明白了,官网都有免费的我要你的收费软件干嘛 首先直接搜索java,进入Oracle,或者 Java SE ...
- 安鸾CTF-cookies注入
什么是cookie注入? cookie注入的原理是:修改cookie的值进行注入 cookie注入其原理也和平时的注入一样,只不过注入参数换成了cookie 例如:PHP $_REQUEST 变量变量 ...
- Pikachu-php反序列化、XXE、SSRF模块
一.PHP反序列化 理解这个漏洞需要明白php中的两个函数,serialize(),unserialize() 1)序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下 ...
- 002 TCP/IP模型
一.TCP/IP 的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属于TCP/IP协议,而T ...
- bluecms安装错误一记
菜鸡兴致勃勃下载了bluecms1.6准备大干一番 环境 phpstudy mysql 5.7.26 apache 2.4.39 php 7.3.4 结果安装第四步发现个这个问题 开始还以为自己这 ...