能理解 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. 微信小程序 -- scroll view

    效果图:横向滚动和纵向滚动 scroll view使用方法文档,前面已经介绍查找文档方法,此处不再赘述 一.横向滚动 创建一个页面scroll-nav 然后,在.wxml文件中排版 <!--水平 ...

  2. 计算距离2020年圣诞节还有x天x时x分x秒

    //计算两者相差毫秒数 //创建当前时间和圣诞节时间的Date对象 var d1=new Date(); var d2=new Date('2020/12/25'); //计算相差的毫秒 var d= ...

  3. MySQL执行计划【explain】详解

    本文已经收录到github仓库,仓库用于分享Java相关知识总结,包括Java基础.MySQL.Springboot.mybatis.Redis.rabbitMQ等等,欢迎大家提pr和star! gi ...

  4. 『Java』String类使用方法

    Java中的字符串 java.lang.String类表示字符串类,Java程序中所有字符串文字都可以看作实现该类的实例. 特点: 字符串不可变:字符串的值在创建后不能在发生改变 public cla ...

  5. 一个遵循CleanArchitecture原则的Asp.net core轻量级开源项目

    这是一个基于最新的ASP.net core 5.0创建Razor Page应用程序解决方案模板.遵循Clean Architecture的原则,以最求简洁的代码风格和实现快速开发小型的web业务系统的 ...

  6. dubbo学习实践(5)之Dubbo-Admin元数据中心配置(zookeeper&Redis&Consul)

    1.Dubbo2.7.8元数据中心配置zookeeper版 前面文章已经写到了dubbo-admin管理平台的docker版配置及dubbo服务注册与调用,这篇文章记录dubbo元数据中心配置 翻开d ...

  7. 基于ivy的源代码调试方法

    项目PORJ_TEST是项目PROJ的测试项目.在它的ivy中引用了PROJ的jar包.由于PROJ正处于开发阶段,源代码更改频繁, 在运行PROJ_TEST中的测试时,需要进入PROJ的jar包内部 ...

  8. Solution of Cobertura Exception "touchJump" when Unit Test

    During unit test I encounter a "java.lang.NoSuchMethodError: net.sourceforge.cobertura.coverage ...

  9. Nginx搭建与相关配置

    目录 一.Nginx简介 1.1 概述 1.2 Nginx与Apache的差异 二.编译安装Nginx服务 2.1 将nginx软件包传到主机/opt目录下 2.2.安装依赖包 2.3.添加模块编译安 ...

  10. linux服务器下TCP抓包

    1.首先ifconfig查看当前服务器的网卡信息 2.执行tcpdump -i ens160[网卡信息] -s 0 port 8080[监听的端口号] -w ./fileName.pcapng 3.可 ...