关于颜色的公式
取色器先到这里。用是可以用了。功能还不完善。算法也没搞清。过一段时间再来看
下面是核心算法
下面是头晕算法--
function hslToRgb(H,S,L) {
var p1,p2;
var rgb=new Array(3);
if (L <= 0.5) {
p2 = L*(1+S);
} else {
p2 = L+S-(L*S);
}
p1=2 * L - p2;
if (S == 0) {
rgb.r=L;
rgb.g=L;
rgb.b=L;
} else {
rgb.r=toRgb(p1,p2,H + 120);
rgb.g=toRgb(p1,p2,H);
rgb.b=toRgb(p1,p2,H - 120);
}
rgb.r*= 255;
rgb.g*= 255;
rgb.b*= 255;
var _rgb=Math.round(rgb.r) * 256 * 256 + Math.round(rgb.g) * 256 + Math.round(rgb.b);
return _rgb;
}
function toRgb(q1,q2,hue) {
if (hue > 360) {
hue=hue - 360;
}
if (hue < 0) {
hue=hue + 360;
}
if (hue < 60) {
return (q1+(q2-q1)*hue/60);
} else if (hue < 180) {
return q2;
} else if (hue < 240) {
return (q1+(q2-q1)*(240-hue)/60);
} else {
return q1;
}
}
调用的时候生成是的6*11的矩阵
private function colors() {
for (var i:uint=0; i<6; i++) {
var _colorBlack:__color=new __color(hslToRgb(0,0,1-i*.2));
pick.addChild(_colorBlack);
_colorBlack.y=i*17;
for (var j:uint=0; j<10; j++) {
var _color:__color=new __color(hslToRgb(36*j,1,.8-i*.1));
pick.addChild(_color);
_color.x=j*17+17;
_color.y=i*17;
}
}
}
P。S。 googleRR 的时间怪怪的
没有评论:
发表评论