计算机中的颜色——快速计算颜色的色相值
在之前的文章中,给定一个颜色,它的色相值计算如下:
由公式可知,计算色相时要分为六种情况,计算略显复杂。有没有简单的计算方法呢?来看看下面这个图
上面这个图,表示纯色的色相分布,把纯色分为六个部分。仔细观察,每个部分的纯色都有统一的特点,例如,右上角的部分,R=255,B=0,G从0变化到255。右边的部分,G=255,B=0,R从255变化到0。每一个部分都是一个分量是255,一个分量是0,一个分量在0到255之间变化。
在仔细观察以后,突然发现,任意一种纯色(R,G,B)和红色之间的夹角可以用下面公式表示:
Θ=(|R-255|+|G-0|+|B-0|)/255×60
去掉绝对值符号后,简化为
Θ=(255-R+G+B)/255×60
这时,Θ的取值范围为 [0,180]。
再次观察上面这个图,发现右边三个阴影部分的纯色都有一个共性,那就是分量G的值大于等于分量B的值,而左边三个空白部分的纯色也都有一个共性,就是分量B的值大于等于分量G的值。
故任意一个纯色的色相值可以用下面公式表示
当G≥B时,H=(255-R+G+B)/255×60
当G<B时,H=360-(255-R+G+B)/255×60
通过演化推导,任意一种颜色(R’,G’,B’)的色相计算公式:
Max为三个分量的最大值,Min为三个分量的最小值
若Max=Min,表示灰度色,此时,H=0
若Max≠Min,分为两种情况:
当G≥B时,H=(Max-R’+G’-Min+B’-Min)/(Max-Min)×60
当G<B时,H=360-(Max-R’+G’-Min+B’-Min)/(Max-Min)×60
注:补充两个公式,在后文中要用到的
纯色(R,G,B),和红色的夹角
Θ=(255-R+G+B)/255×60
和绿色的夹角
Θ=(255+R-G+B)/255×60
和蓝色的夹角
Θ=(255+R+G-B)/255×60
计算机中的颜色——快速计算颜色的色相值相关推荐
- 计算机中数据表示与计算实验答案,实验二计算机中的数据表示与计算-20210622102303.pdf-原创力文档...
. 实验二 计算机中的数据表示与计算 学号 :1120161816 姓名 :田雄辉 班级 实验时间 :2016 年 9 月 29 日 实验报告表 2-1 数值型数据在计算机中的二进制表示实验记录表 十 ...
- 计算机课中不可计算的例子,在计算机中哪些问题不可计算
众所周知,在现代人的观念中,寓意功能最强.攘括概念范围最广的,莫过于"数"及其相互之间的逻辑关系."数学"已是当代人类用来表述科学规律和进行思想沟通的重要工具. ...
- 在计算机中 用户程序,在用户计算机上的万维网客户程序是()
摘要: 修理需检后不测,户计户程行修即进应立理,修理自行解体铅封拆动.维网客注意简述计的基本及其R引原则要点物设.和鱼观察态的动水色,户计户程天早塘一养殖应每晚巡池塘次.... 修理需检后不测,户计户 ...
- 计算机中的颜色XIII——颜色转换的快速计算公式
本文的公式的基础都是在前文的基础上的.详情请参看前文: 计算机中的颜色I--颜色概述 计算机中的颜色II--VB2005中的Color结构 计算机中的颜色III--HSV表示方法 计算机中的颜色IV- ...
- 计算机中的二进制实验报告,+实验二 计算机的数据表示和计算.doc
实验2 计算机中的数据表示与计算 实验报告 学号1500202151 姓名叶思凡 班级:卫生检验与检疫15 实验时间: 2017年 3 月 2 日 实验报告表2-1 数值型数据在计算机中的二进制实验记 ...
- 二进制以上的计算机,计算机中的二进制
计算机中的二进制 经常在有时候看到什么进制什么的 比如二进制 十六进制什么的..其实也没啥说白了 其实都是在表示一个数而已 只是表示的方式不一样罢了 先来看看十进制: 什么是十进制?也就是我们平时表示 ...
- 高中数学对计算机,高中数学在计算机中的运用及思考.doc
<高中数学在计算机中的运用及思考.doc>由会员分享,可在线阅读,更多相关<高中数学在计算机中的运用及思考.doc(6页珍藏版)>请在人人文库网上搜索. 1.高中数学在计算机中 ...
- 高中数学与计算机,高中数学在计算机中的运用及思考.docx
高中数学在计算机中的运用及思考 摘要目前我们高中数学在计算机中的教学实践并没有对学生起到实质性效果,主要原因还是由于高中生对计算机使用方法不当及数学基础理论知识不扎实,因此我们高中生在计算机中的运用及 ...
- 计算机中的二进制实验报告,大学计算机-实验报告一.doc
北京信息科技大学 信息管理学院 实 验 报 告 课程名称 信息系统基础 实验项目 实验一 计算机数据信息化和指令执行过程 实验仪器 PC.Office2003 专 业 **** 班级/学号 *** 学 ...
最新文章
- 每日程序C语言11-求s=a+aa+aaa+aaaa+aa…a
- 124. Binary Tree Maximum Path Sum 二叉树中的最大路径和
- 一堂儿童科学实验课引起的思考:数学和化学有什么关系?
- python 迭代多个对象
- checkbox-复选框
- android(八)、触摸事件分发
- c#调用javascript的方法,有Updatepanel的情况
- Mybatis一对一和一对多配置
- JSP教程第5讲笔记
- 使用Sqlite数据库存储数据
- VC 2012 visualstudio的项目属性表 .props文件
- python 正则匹配指定号段手机号
- 3.7、PHP命名空间
- git--基本知识点--1--工作区/暂存区/版本库
- 2种前端实现图片加水印的方式
- tcpdump man 手册页的详细中文翻译
- 【高等代数】线性空间-知识点总结
- css盒模型(css盒模型包括)
- 无线路由器使用方法,教你怎么设置无线路由
- 手握2亿美金,专挑“硬骨头”?The Engine公布第一批“改变世界”的被投公司名单...