
hsvrgb
Converts HSV color values to RGB.
Available in version 5.0.0 and later.
Prototype
function hsvrgb ( hsv : numeric ) return_val : numeric
Arguments
hsvAn array of values in the Hue, Saturation, Value (HSV) color space. This array can be of any shape, but the rightmost dimension must be 3 for specifying the HSV values. The Hue values must be in the range [0.,360.), and the Saturation and Value values in the range [0.,1.]. A Hue of 0. corresponds to RGB red (1.,0.,0.).
Return value
The returned value is an array of the same dimension and dimension sizes as the input array. The input HSV values will have been replaced with their Red, Green, Blue (RGB) equivalents. If any values in the input array are double precision, the returned array will be double precision.
Description
This function determines the RGB equivalents to HSV color values.
The returned Red, Green, and Blue values will be in the range [0.,1.].
For sample color wheels illustrating HSV colors see example color_18 on the Color Fill page.
For a complete description of the algorithm see:
- Foley, James D. and van Dam, Andries,"Fundamentals of Interactive Computer Graphics",Addison-Wesley Publishing Company, 1982.
Missing values are not honored.
This routine is essentially the same as hsv2rgb, but with a different interface. It is written to be consistent with the other color conversion routines.
See Also
rgbhsv, rgbhls, hlsrgb, yiqrgb, rgbyiq
Examples
Example 1
The following:
begin rgb = hsvrgb((/0.0, 1.0, 1.0/)) print(rgb) endproduces:
Variable: rgb Type: float Total Size: 12 bytes 3 values Number of Dimensions: 1 Dimensions and sizes: [3] Coordinates: (0) 1 (1) 0 (2) 0Example 2
The following:
begin hsv = (/ \ (/(/ 0.d, 1.d, 1.d/), (/120.d, 1.d, 1.d/)/) , \ (/(/240.d, 1.d, 1.d/), (/ 60.d, 1.d, 1.d/)/) , \ (/(/300.d, 1.d, 1.d/), (/180.d, 1.d, 1.d/)/) \ /) rgb = hsvrgb(hsv) print(rgb) endproduces:
Variable: rgb Type: double Total Size: 144 bytes 18 values Number of Dimensions: 3 Dimensions and sizes: [3] x [2] x [3] Coordinates: (0,0,0) 1 (0,0,1) 0 (0,0,2) 0 (0,1,0) 0 (0,1,1) 1 (0,1,2) 0 (1,0,0) 0 (1,0,1) 0 (1,0,2) 1 (1,1,0) 1 (1,1,1) 1 (1,1,2) 0 (2,0,0) 1 (2,0,1) 0 (2,0,2) 1 (2,1,0) 0 (2,1,1) 1 (2,1,2) 1Example 3
The NCL code gsn_color.ncl allows you to change HSV values to generate color maps.