Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

1.1. 1.1.hsv色卡1

1.2. 从 HSV 到 RGB 的转换1

1.3. HSVtoRGBColorV2Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类2

1.1. 1.1.hsv色卡

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

1.2. 从 HSV 到 RGB 的转换

类似的,给定在 HSV 中 (h, s, v) 值定义的一个颜色,带有如上的 h,和分别表示饱和度和明度的 s 和 v 变化于 0 到 1 之间,在 RGB 空间中对应的 (r, g, b) 三原色可以计算为:

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

对于每个颜色向量 (r, g, b),

1.3. HSVtoRGBColorV2Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

public static Color HSVtoRGBColorV2(HSV hsv) {

float h = hsv.h;

float s = hsv.s;

float v = hsv.v;

int Hi = (int) ((h / 60) % 6);

float f = (h / 60) - Hi;

float p = v * (1 - s);

float q = v * (1 - f * s);

float t = v * (1 - (1 - f) * s);

switch( Hi ) {

case 0:

return makeColor(v,t,p);

case 1:

return makeColor(q,v,p);

case 2:

return makeColor(p,v,t);

case 3:

return makeColor(p,q,v);

case 4:

return makeColor(t,p,v);

default:    // case 5:

return makeColor(v,p,q);

}

// return HSVtoRGB(hsv.h, hsv.s, hsv.v).getRGB();

}

private static Color makeColor(float v, float v2, float v3) {

return new Color(v,v2,v3);

}

参考

颜色空间RGB与HSV(HSL)的转换 - jiangxinyu的专栏 - 博客频道 - CSDN.NET.html

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

上一篇:JDK1.7新特性,语言篇


下一篇:Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27