I agree with
AgentSam, but if it useful for you,
Daniel, you can do it better with another three sliders -
HSV.
grab some code, if you use AppGameKit T1:
global some_klr_r as integer // [0, 255]
global some_klr_g as integer // [0, 255]
global some_klr_b as integer // [0, 255]
function set_klr_via_HSV(hue as float, saturation as float, value as float) // [0, 360], [0, 1], [0, 1]
// 20120810 - 20130914
value_min as float
adjustment as float
red as float
green as float
blue as float
if ( hue < 0 or hue > 360 ) then hue = 0
if ( saturation < 0 or saturation > 1 ) then saturation = 1
if ( value < 0 or value > 1 ) then value = 1
value_min = ( 1.0 -saturation ) *value
adjustment = ( ( value -value_min ) *( mod( hue, 60.0 ) /60.0 ) )
some = floor( hue /60.0 ) // grafikal jihad
select some
case 0:
red = value
green = value_min +adjustment
blue = value_min
endcase
case 1:
red = value -adjustment
green = value
blue = value_min
endcase
case 2:
red = value_min
green = value
blue = value_min +adjustment
endcase
case 3:
red = value_min
green = value -adjustment
blue = value
endcase
case 4:
red = value_min +adjustment
green = value_min
blue = value
endcase
case 5:
red = value
green = value_min
blue = value -adjustment
endcase
endselect
some_klr_r = trunc( red *255.0 )
some_klr_g = trunc( green *255.0 )
some_klr_b = trunc( blue *255.0 )
endfunction