Convert HSV color tu RBG - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Convert HSV color tu RBG (
/showthread.php?tid=360779)
Convert HSV color tu RBG -
xX_Simon_Xx - 18.07.2012
i try to do this by follow this
http://en.wikipedia.org/wiki/HSL_color_space#From_HSV
but for exemple if i insert H = 100, S 0.9, V = 0.5;
it's return 0.500000,0.500000,0.050000
or if I insert H = 10, S 0.4, V = 0.1;
it's return 0.100000,0.059999,0.059999
PHP код:
stock Float:flomod(Float:a, Float:b)
{
while(a > b)
a -= b;
return a;
}
stock HSBtoRBG(H,Float:S,Float:V)
{
new R,G,B;
new Float:r,Float:g,Float:b;
new Float:C = floatmul(V,S);
new Float:fH = H / 60;
new Float:X = floatmul(C,(1 - floatabs(flomod(fH,2.0) - 1)));
if(fH < 1) r = C,g = X,b = 0.0;
else if(fH < 2) r = X,g = C,b = 0.0;
else if(fH < 3) r = 0,g = C,b = X;
else if(fH < 4) r = 0,g = X,b = C;
else if(fH < 5) r = X,g = 0.0,b = C;
else if(fH < 6) r = X,g = 0.0,b = C;
else r = 0.0,g = 0.0,b = 0.0;
new Float:m = V - C ;
r = r+m;
g = g+m;
b = b+m;
printf("%f,%f,%f",r,g,b);
}
why dont' return RBG values
Re: Convert HSV color tu RBG -
MP2 - 18.07.2012
Not sure if relevant:
http://www.cs.rit.edu/~ncs/color/t_convert.html