我試圖將rgb轉換爲as3中的hsv。我有這似乎除了具有白色工作做好的功能(255,255,255)Actionscript HsvToRgb不適用於白色
這是我的函數:
public function RgbToHsv(red:Number, grn:Number, blu:Number):Object
{
var x, val, f, i, hue, sat, val;
red/=255;
grn/=255;
blu/=255;
x = Math.min(Math.min(red, grn), blu);
val = Math.max(Math.max(red, grn), blu);
if (x==val){
return({h:undefined, s:0, v:val*100});
}
f = (red == x) ? grn-blu : ((grn == x) ? blu-red : red-grn);
i = (red == x) ? 3 : ((grn == x) ? 5 : 1);
hue = Math.floor((i-f/(val-x))*60)%360;
sat = Math.floor(((val-x)/val)*100);
val = Math.floor(val*100);
return({h:hue, s:sat, v:val});
}
的問題是,當我通過白色的RGB(255,255,255)我得到這樣的:H:空,S:0,v:100
也許你應該嘗試鍵入,而不是讓閃光燈不好做你的變量'Number'。 – Florent