View Raw SPL
/* composite color value to HSV values */
color2hsv(color)
{
        local r, g, b, h, s, v, hsv;

        /* 0.0 to 1.0 values */
        (r, g, b) = colortorgb(color);

        (h, s, v) = rgb2hsv(r, g, b);

        if (outargc > 1)
        {
                return(h, s, v);
        }
        else
        {
                hsv = concat({h}, {s}, {v});
                setvunits(hsv, "HSV");

                return(hsv);
        }
}