Atitit hsv转grb 应该优先使用hsv颜色原则 方便人类
1.1. 1.1.hsv色卡
1.2. 从 HSV 到 RGB 的转换
类似的,给定在 HSV 中 (h, s, v) 值定义的一个颜色,带有如上的 h,和分别表示饱和度和明度的 s 和 v 变化于 0 到 1 之间,在 RGB 空间中对应的 (r, g, b) 三原色可以计算为:
对于每个颜色向量 (r, g, b),
1.3. HSVtoRGBColorV2
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