Design Scripting Documentation
     
 
     
  Convert RGB to HSL  
     
     
  Inputs:  
     
an rgb color vector
     
  Outputs:  
     
a hsl color vector
     
  Implementation
01  function rgb_hsl( rgb_ )
02    dim h
03    dim s
04    dim l
05  
06    dim r: r = rgb_( COLOR_R ) / NUMBER_MAX_BYTE
07    dim g: g = rgb_( COLOR_G ) / NUMBER_MAX_BYTE
08    dim b: b = rgb_( COLOR_B ) / NUMBER_MAX_BYTE
09  
10    dim min: min = number_mini( number_mini( r, g ), b )
11    dim max: max = number_maxi( number_maxi( r, g ), b )
12  
13    dim delta: delta = max - min
14    dim sigma: sigma = max + min
15    dim kappa: kappa = sigma / 2.0
16  
17    l = sigma / 2.0
18  
19    if( delta = 0.0 ) then
20      h = 0.0
21      s = 0.0
22    else
23      if( l < 0.5 ) then
24        s = delta / sigma
25      else
26        s = delta / ( 2.0 - sigma )
27      end if
28  
29      if( r = max ) then
30        h = ( g - b ) / delta
31      else
32        if( g = max ) then
33          h = ( b - r ) / delta + 2.0
34        else
35          h = ( r - g ) / delta + 4.0
36        end if
37      end if
38  
39      h = h / 6.0
40  
41      if( h < 0.0 ) then h = h + 1.0
42      if( h > 1.0 ) then h = h - 1.0
43    end if
44    rgb_hsl = array( h, s, l )
45  end function
 
     

Creative Commons License
The Design Scripting Library, including its sources, online documentation and graphics, are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

Online Documentation generated by { vbdoclib } version 1.0
Color-Coding generated by { vbcc } version 2.0
Page timestamp: { Feb. 2, 2006 }





 
     
     
 
Documentation
Cover Page
Expand
Collapse
 
Array
 
Bitmap File
 
Bounding Box
 
Color
 
Container
 
Doclet
 
Ellipse
 
Intersection
 
Language
 
Map
 
Matrix
 
Number
 
Nurbs
 
Range
 
STL File
 
Streams
 
String
 
Surface
 
Text File
 
Triangle
 
Vector
 
Vertex
 
Wave File