HLS
The HLS procedure creates a color table based on the HLS (Hue, Lightness, Saturation) color system.
Using the input parameters, a spiral through the double-ended HLS cone is traced. Points along the cone are converted from HLS to RGB. The current colortable (and the COLORS common block) contains the new colortable on exit.
This routine is written in the IDL language. Its source code can be found in the file hls.pro
in the lib
subdirectory of the IDL distribution.
Example
Copy and paste the following code at the IDL command line to see an example of using HLS.
; Locate the moon_landing.png file, then read it in.
place = FILEPATH('moon_landing.png', SUBDIR=['examples', 'data'])
READ_PNG, place, picture
; Generate some values to use in the argument in
; creating the new colortable.
loop = FIX(500*RANDOMU(seed))
v1 = FIX(100*RANDOMU(seed))
v2 = FIX(100*RANDOMU(seed))
s1 = FIX(100*RANDOMU(seed))
s2 = FIX(100*RANDOMU(seed))
degree = FIX(360*RANDOMU(seed))
; Create a new colortable 'col' based on the randomly-generated
; values, above.
HLS, v1, v2, s1, s2, degree, loop, col
; Display the image using the newly generated color table.
see = IMAGE(picture, RGB_TABLE=col)
; Run this example many times to see the different
; color tables you can get.
Syntax
HLS, Litlo, Lithi, Satlo, Sathi, Hue, Loops [, Colr]
Arguments
Litlo
Starting lightness, from 0 to 100%.
Lithi
Ending lightness, from 0 to 100%.
Satlo
Starting saturation, from 0 to 100%.
Sathi
Ending saturation, from 0 to 100%.
Hue
Starting Hue, from 0 to 360 degrees. Red = 0 degs, green = 120, blue = 240.
Loops
The number of loops through the color spiral. This parameter does not have to be an integer. A negative value causes the loops to traverse the spiral in the opposite direction.
Colr
An optional (256,3) integer array in which the new R, G, and B values are returned. Red = Colr[*,0], green = Colr[*,1], blue = Colr[*,2].
Keywords
None.
Version History
Original |
Introduced |