HSB转RGB

swift--RGBHSV、HSB和HSL HSV、HSB和HSL的区别 HSB 为 色相,饱和度,明度。 HSL 为 色相,饱和度,亮度。 HSV 为色相,饱和度,明度。 HSB 和 HSV 算法一致,HSL稍有区别 换公式 参考CSDN博主「Sunshine_in_Moon」的原创文章 RGB到HSV和HSL公式 代码 注意:返回的hue值范围为0-360,但是iOS中取值范围为0-1,需要将返回的hue除... 阅读详情

要算出(h,s,b)对应的(r,g,b),可以分3步,以HSB=(130°,50%,80%)为例说明:

1、先算出(h,100%,100%)对应的(r’,g’,b’)。
先固定色相,色环图上色相H∈[-60°,60°]时红色分量最大,H∈[60°,180°]时绿色分量最大,H∈[180°,300°]时蓝色分量最大,此时B=100%,所以RGB的最大分量为255。
先算出HSB=(130°,100%,100%)对应的(r’,g’,b’):H=130°,在[60°,180°]区间,所以绿色分量为g’=255,红色分量r’=0;进一步地,130°处于[120°,180°],在这60°的区间上,色环上蓝色分量对应地从0递增到255,所以b’=(130°-120°)/60°*255=43。所以(r’,g’,b’)=(0,255,43)

2、固定色相后再调整饱和度,算出(h,s,100%)对应的(r”,g”,b”)。
在亮度B=100%时,从 演示中发现,饱和度S降低,即“不饱和度”(1-S)升高,会使得RGB与最大值255相差的部分对应增大,RGB三个分量越趋于相同就使得图像越灰。所以,
r”=r’+(255-r’)*(1-S) ……………………………… ①
g”和b”用同样的方法求出。当然,r’g’b’中的最大值不会变化。(r”,g”,b”)=(128,255,149)

3、最后算出(h,s,b)对应的(r,g,b)。
最后调整亮度,只要依照亮度值的百分比缩小就行了,(r,g,b)=(r”,g”,b”)*80%=(102,204,119)就是HSB=(130°,50%,80%)对应的RGB

public float[] hsb2rgb(float[] hsb) {
    float[] rgb= new float[3];        
    //先令饱和度和亮度为100%,调节色相h
    for(int offset=240,i=0;i<3;i++,offset-=120) {
        //算出色相h的值和三个区域中心点(即0°,120°和240°)相差多少,然后根据坐标图按分段函数算出rgb。但因为色环展开后,红色区域的中心点是0°同时也是360°,不好算,索性将三个区域的中心点都向右平移到240°再计算比较方便
        float x=Math.abs((hsb[0]+offset)%360-240);
        //如果相差小于60°则为255
        if(x<=60) rgb[i]=255;
        //如果相差在60°和120°之间,
        else if(60<x && x<120) rgb[i]=((1-(x-60)/60)*255);
        //如果相差大于120°则为0
        else rgb[i]=0;
    }
    //在调节饱和度s
    for(int i=0;i<3;i++)
        rgb[i]+=(255-rgb[i])*(1-hsb[1]);
    //最后调节亮度b
    for(int i=0;i<3;i++)
        rgb[i]*=hsb[2];
    return rgb;
}
C#中实现RGBHSB的互相换算法及完整源码 RGB是一种颜色模型,其中的每个颜色均由红、绿和蓝三个分量组成。在C#中,我们可以用Color结构体表示RGB颜色。HSV是另一种颜色模型,其中颜色由色调、饱和度和明度三个分量组成。我们需要在两种颜色模型之间进行换,以便得到我们需要的颜色。在C#编程中,常常需要用到RGBHSB之间的相互换。本篇文章将提供C#中实现RGBHSB的互相换算法,并附上完整的源代码。以上就是在C#中实现RGBHSB的互相换算法的完整源码。我们可以将这些函数用于自己的项目中,以便更好地管理颜色。 阅读详情

相关推荐

万能颜色获取器:高效设计与开发工具

HSB颜色模式,也被称为HSV(Hue, Saturation, Value),是一种常见的颜色表示方法。它从人眼观察颜色的方式出发,将颜色分为三个主要维度:色调(Hue)、饱和度(Saturation)、亮度(Brightness/Value),这种模式更加贴近艺术家和设计师对颜色的理解。色调(H):指颜色的种类,是红色、蓝色、绿色等颜色的区别,以角度表示,通常范围从0°到360°,类似于我们在色轮上的位置。饱和度(S):指颜色的纯度,表示色光中掺杂白光的多少,饱和度越高,颜色越鲜艳。

weixin_28931507的博客 1079

RGBHSB换关系

颜色值 RGBHSB换关系 换方法的说明,自己可以编写成任何语言源程序

RGBHSB、HSL互相换 源码

网 络 收 集 调 试 通 过 。

HSB(HSV) RGB 颜色 (js换公式)

HSB(HSV)概念 HSB又称HSV,表示一种颜色模式:在HSB模式中,H(hues)表示色相,S(saturation)表示饱和度,B(brightness)表示亮度HSB模式对应的媒介是人眼。 HSB模式中S和B呈现的数值越高,饱和度明度越高,页面色彩强烈艳丽,对视觉刺激是迅速的,醒目的效果,但不益于长时间的观看。 色相(H,hue):在0~360°的标准色轮上,色相是按位置度量的。在...

loushengyue 1万+

HSV颜色模式的应用

有时候,我们需要把某种数值大小的渐变 以 颜色渐变的方式表示出来。如果用RGB模式表示颜色,这种渐变常常达不到理想的效果。因为RGB进行内插值后,倾向于混为一体。比如在RGB空间中,取橙色(255,128,0)和浅蓝色(0,128,255),那么这2种颜色的中间值会是(128,128,128)即灰色,而这不是我们希望看到的。 另外,我们眼中的相接近的颜色,其RGB数值相距遥远。    所以,当我

6114

RGBHSB之间的相互

[引用:] [ http://www.missyuan.com/thread-379107-1-1.html ] 第一部分————RGBHSB的数值换关系:出自设计中国slowfool1.换公式:声明:下列三个公式乃本人通过拾色器数据研习所得,并未参考其它资料,不当之处,望各位指正。HSB亮度(B )=RGB最大颜色分量值/255*100%.HSB饱和度(S)=RGB(最大颜色分量值-最小...

刘刚的空间 1524

RGBHSB之间的换公式

https://blog.csdn.net/xhhjin/article/details/7020449 public static float[] rgb2hsb(int rgbR, int rgbG, int rgbB) { assert 0 <= rgbR && rgbR <= 255; assert 0 <=...

qq_35741614的博客 1116

php: RGB HSB(HSV)

前言 最近因为涉及到一个算色规则,其中需要把RGBHSB的要求,所以自己研究了下,故此记录下。 什么是RGBRGB表示红色(R)、绿色(G)、蓝色(B),又称为三原色光。它是通过对三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。 什么是HSB? 在HSB模式中,H(hues)表示色相、S(saturatio...

panjiapengfly的博客 1388

js helper(hsv/hsbrgb颜色,uuid,金额小写大写)

hsv/hsbrgb颜色 //h:[0,360],s:[0,100],v:[0,100] //return r:[0,256], g:[0,256],b:[0,256] function hsvtorgb(h, s, v) {   s = s / 100;   v = v / 100;   var h1 = Math.floor(h / 60) % 6;   ...

227

】“HSB”、“lab“、“CMYK“、“RGB“有什么区别?

"HSB”、"lab"、"CMYK"、"RGB"有什么区别?_百度知道 (baidu.com)https://zhidao.baidu.com/question/1118909743570135459.html ps中有HSB色彩模式,RGB色彩模式,CMYK色彩模式,Lab色彩模式,现在分别介绍一下这几种色彩模式: HSB色彩模式(也称HSL) 颜色有三种属性,色相,亮度,饱和度,HSB分别是这三种属性的英文简写。 色相,就是各种色彩的相貌,比如红,黄,绿,蓝等,它是色 彩的首要特征,是区别.

songhuangong123的博客 2354

matlab中rgbhsv,matlab实现RGB与HSV(HSB)、HSL和HSI的色彩空间互

rgb2hsv,hsv2rgbRGB(HSL)1. RGB→HSL的算法描述步骤1: 把RGB换成[0,1]中数值例:R=0.83, G=0.07, B=0.07步骤2: 找出R, G和B中的最大值本例中,maxcolor = 0.83, mincolor=0.07步骤3: L = (maxcolor + mincolor)/2本例中,L = (0.83+0.07)/2 =0.45步骤4: 如...

weixin_33631836的博客 5419

HSB颜色与RGB颜色互换.rar

HSB颜色与RGB颜色互换.rar

e语言-易语言HSB颜色与RGB颜色互换

易语言HSB颜色与RGB颜色互换源码例程程序根据一定的算法规律,实现RGB颜色值与HSB颜色模式的相互换。本易语言源码例程属于易语言进阶教程。

HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型(

HSV颜色空间 HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 它包含RGB模型中的R=1,G=1,B=1 三个面,所代表的颜色较亮。色彩H由绕V轴的旋角给定。红色对应于 角度0° ,绿色对应于角度120°,蓝色对应于角度240°。在HSV颜色模型中,每一种颜色和它的补色相差180° 。 饱和度S取值从0到1,所以

wxtao68的专栏 1227

[原创]ActionScript3游戏中的图像编程(连载十八)

总目录:http://www.cnblogs.com/iloveas/p/3879125.html 1.3.4HSBRGB公式的ActionScript实现 为了让HSBRGB这个通用的功能在后续的项目里可以重用,我们先把这个换公式做成一个工具类,并且放入到公共类库里。当然,这样的类,网上也有很多现成的可以直接拿过来用(个人推荐frocessing工具包)。类...

weixin_30376083的博客 101

Halcon 如何让图像自适应窗口

l计算机需要使用四个通道分别表示CMYK四个分量数据,如果每个表示分量数据的颜色通道为8位,用0表示网点面积率0,255表示网点面积率100%,这样4个通道表示一个像素的颜色则需要32位深。lLab颜色空间是一个与设备无关的颜色空间,是Photoshop、Illustrator等软件所使用的内部换图像模式,也是当前国际色彩联盟规定的色彩管理标准中的标准颜色空间。lH(Hue)色相就是纯色,即组成可见光谱的单色,红色在0(360°)度,Y为60°,G为120°,C为180°,B为240°,M为300°。

钢铁男儿 1580

RGBHSB之间的彼此

[http://www.cesclub.com/bw/jishuzhongxin/Webjishu/2011/1128/16238.html] YUI官方给出了定义插件的模板文件:http://developer.yahoo.com/yui/3/plugin/assets/myplugin.js.txt 2010-10-29  博客分类: Eclipse相干  360F#.

一头雾水的Blog 8394

RGBHSB换推算

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34293246的博客 627
上一篇: Python使用struct处理二进制
下一篇: RGB 和 CMYK 相互转换原理
fengda2870
博客等级 码龄18年 377粉丝 879原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值