计算机中的颜色——纯色、色相色

前端之家收集整理的这篇文章主要介绍了计算机中的颜色——纯色、色相色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前一篇文章介绍了颜色的@H_502_4@HSV表示方法,其中@H_502_4@H表示色相,亦即表示在色相环上的位置。@H_502_4@S表示颜色的纯度,当@H_502_4@S=1时,表示颜色最纯,当@H_502_4@S=0时,表示颜色没有纯度,此时表示为灰度色。@H_502_4@V表示颜色的亮度,当@H_502_4@V=1,颜色最亮,当@H_502_4@V=0时,亮度最低,此时表示颜色为黑色。@H_502_4@

综上所述,当一个颜色(@H_502_4@H@H_502_4@S@H_502_4@V)中的@H_502_4@S=1@H_502_4@V=1时,此时该颜色表示色相环上的一种颜色。我们定义该颜色为纯色或者是色相色。@H_502_4@

由于每种颜色都有@H_502_4@H分量,因此任意一种颜色都和一种纯色对应,他们之间的区别是@H_502_4@S@H_502_4@V值不一样,而@H_502_4@H值是一样的。同时,这种对应关系是一种多对一的关系,也就是说,只要几种颜色的@H_502_4@H值相同,则他们对应的是同一种纯色。@H_502_4@

纯色有什么特点呢?首先纯色也是一种颜色,因此也可以用@H_502_4@RGB表示,同时还可以用@H_502_4@HSV表示。通过前面的定义可知,用@H_502_4@HSV表示的时候,@H_502_4@S=1@H_502_4@V=1。我们先看前文中的转化公示:@H_502_4@

@H_502_4@S=1@H_502_4@Min/Max

@H_502_4@V=Max/255

注:前文中的公式@H_502_4@RGB的分量用@H_502_4@[0@H_502_4@1]表示,本文已经转化为@H_502_4@[0@H_502_4@255],故有所差异@H_502_4@

@H_502_4@V=1,则@H_502_4@Max=255

@H_502_4@S=1,则@H_502_4@Min=0

由此可见,一个颜色是否是纯色的充要条件是三个颜色分量中,最大分量为@H_502_4@255,最小分量为@H_502_4@0@H_502_4@

前面提到,每种颜色都和一种纯色相对应的关系。那么他们之间一定有一个快速计算的过程,实际上,前文中的计算过程虽明了但复杂了。@H_502_4@

已知纯色(@H_502_4@R@H_502_4@G@H_502_4@B)和分量@H_502_4@S@H_502_4@V,如何计算颜色(@H_502_4@R’@H_502_4@G’@H_502_4@B’@H_502_4@

通过推导,有下面的公式:@H_502_4@

R’=R×S+255×1S))×V

G’=G×S+255×1S))×V

B’=B×S+255×1S))×V

已知颜色(@H_502_4@R’@H_502_4@G’@H_502_4@B’),如何计算纯色(@H_502_4@R@H_502_4@G@H_502_4@B@H_502_4@

通过推导,有下面公式:@H_502_4@

@H_502_4@Max为三个分量的最大值,@H_502_4@Min为三个分量的最小值@H_502_4@

@H_502_4@Max=Min,三个分量一样,此时表示灰度值,直接定义纯色(@H_502_4@255@H_502_4@0@H_502_4@0),@H_502_4@S=0@H_502_4@V=Max

@H_502_4@Max@H_502_4@Min@H_502_4@

@H_502_4@R=255×(@H_502_4@R’@H_502_4@Min@H_502_4@/@H_502_4@Max-Min@H_502_4@

@H_502_4@G=255×(@H_502_4@G’@H_502_4@Min@H_502_4@/@H_502_4@Max-Min@H_502_4@

@H_502_4@B=255×(@H_502_4@B’@H_502_4@Min@H_502_4@/@H_502_4@Max-Min@H_502_4@

此时计算出的三个分量必定一个是@H_502_4@255,一个是@H_502_4@0@H_502_4@

同一个色相的颜色有着一定的相关性,而通过纯色计算得出相关的颜色,能加快计算速度,简化计算过程。

猜你在找的VB相关文章