## Linux and UNIX Man Pages

Test Your Knowledge in Computers #455
Difficulty: Medium
Java was originally developed at Oracle starting in December 1990.
True or False?

# mlib_imagecolorhsl2rgb_fp(3mlib) [sunos man page]

```mlib_ImageColorHSL2RGB_Fp(3MLIB)			    mediaLib Library Functions				  mlib_ImageColorHSL2RGB_Fp(3MLIB)

NAME
mlib_ImageColorHSL2RGB_Fp - HSL to RGB color conversion

SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageColorHSL2RGB_Fp(mlib_image *dst, const mlib_image *src);

DESCRIPTION
The  mlib_ImageColorHSL2RGB_Fp() function performs a conversion from hue/saturation/lightness to red/green/blue. The source and destination
images must be three-channel images.

It uses the following equations:

L' = L	    if L <= 1/2
L' = 1 - L	    if L > 1/2

V = L + S*L'
P = L - S*L'
Q = L + S*L'*(1 - 2*fraction(H*6))
T = L - S*L'*(1 - 2*fraction(H*6))

R, G, B = V, T, P    if 0   <= H < 1/6
R, G, B = Q, V, P    if 1/6 <= H < 2/6
R, G, B = P, V, T    if 2/6 <= H < 3/6
R, G, B = P, Q, V    if 3/6 <= H < 4/6
R, G, B = T, P, V    if 4/6 <= H < 5/6
R, G, B = V, P, Q    if 5/6 <= H < 1

where 0 <= H < 1 and 0 <= S, L, L', V, P, Q, T, R, G, B <= 1.

For MLIB_FLOAT and MLIB_DOUBLE images, the above equations are followed verbatim. Input H component values must be  limited  to	the  [0.0,
1.0) range. Input S and L component values must be limited to the [0.0, 1.0] range.

PARAMETERS
The function takes the following arguments:

dst	       Pointer to destination image.

src	       Pointer to source image.

RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

ATTRIBUTES
See attributes(5) for descriptions of the following attributes:

+-----------------------------+-----------------------------+
|      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
+-----------------------------+-----------------------------+
|Interface Stability	     |Evolving			   |
+-----------------------------+-----------------------------+
|MT-Level		     |MT-Safe			   |
+-----------------------------+-----------------------------+

mlib_ImageColorHSL2RGB(3MLIB), mlib_ImageColorRGB2HSL(3MLIB), mlib_ImageColorRGB2HSL_Fp(3MLIB), attributes(5)

SunOS 5.10							    10 Nov 2004 				  mlib_ImageColorHSL2RGB_Fp(3MLIB)```

## Check Out this Related Man Page

```mlib_ImageColorRGB2HSL(3MLIB)				    mediaLib Library Functions				     mlib_ImageColorRGB2HSL(3MLIB)

NAME
mlib_ImageColorRGB2HSL - RGB to HSL color conversion

SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageColorRGB2HSL(mlib_image *dst, const mlib_image *src);

DESCRIPTION
The  mlib_ImageColorRGB2HSL()  function	performs  a conversion from red/green/blue to hue/saturation/lightness. The source and destination
images must be three-channel images.

It uses the following equations:

V = max(R, G, B)
Vmin = min(R, G, B)

L = (V + Vmin)/2

S = (V - Vmin)/(V + Vmin)	    if L <= 1/2
S = (V - Vmin)/(2 - V - Vmin)     if L > 1/2

H = (5.0 + (V - B)/(V - Vmin))/6  if R = V and G = Vmin
H = (1.0 - (V - G)/(V - Vmin))/6  if R = V and B = Vmin
H = (1.0 + (V - R)/(V - Vmin))/6  if G = V and B = Vmin
H = (3.0 - (V - B)/(V - Vmin))/6  if G = V and R = Vmin
H = (3.0 + (V - G)/(V - Vmin))/6  if B = V and R = Vmin
H = (5.0 - (V - R)/(V - Vmin))/6  if B = V and G = Vmin
H = 0.0			    if R = G = B

where 0 <= R, G, B, V, Vmin, L, S <= 1 and 0 <= H < 1.

Assuming a pixel in the source image is (r, g, b) and its corresponding pixel in the destination image is (h, s,  l),  then  for  MLIB_BYTE
images, the following applies:

R = r/255
G = g/255
B = b/255
h = H*256
s = S*255
l = L*255

for MLIB_SHORT images, the following applies:

R = (r + 32768)/65535
G = (g + 32768)/65535
B = (b + 32768)/65535
h = H*65536 - 32768
s = S*65535 - 32768
l = L*65535 - 32768

for MLIB_USHORT images, the following applies:

R = r/65535
G = g/65535
B = b/65535
h = H*65536
s = S*65535
l = L*65535

and for MLIB_INT images, the following applies:

R = (r + 2147483648)/4294967295
G = (g + 2147483648)/4294967295
B = (b + 2147483648)/4294967295
h = H*4294967296 - 2147483648
s = S*4294967295 - 2147483648
l = L*4294967295 - 2147483648

PARAMETERS
The function takes the following arguments:

dst	       Pointer to destination image.

src	       Pointer to source image.

RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

ATTRIBUTES
See attributes(5) for descriptions of the following attributes:

+-----------------------------+-----------------------------+
|      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
+-----------------------------+-----------------------------+
|Interface Stability	     |Evolving			   |
+-----------------------------+-----------------------------+
|MT-Level		     |MT-Safe			   |
+-----------------------------+-----------------------------+