mediaLib Library Functions mlib_ImageColorHSL2RGB(3MLIB)
NAME
mlib_ImageColorHSL2RGB - HSL to RGB color conversion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlib_status mlib_ImageColorHSL2RGB(mlib_image *dst, const mlib_image *src);
DESCRIPTION
The mlib_ImageColorHSL2RGB() function performs a conversion
from hue/saturation/lightness to red/green/blue. The sourceand destination images must be three-channel images.
It uses the following equations: L' = L if L < 1/2L' = 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. Assuming a pixel in the source image is (h, s, l) and its corresponding pixel in the destination image is (r, g, b),then for MLIB_BYTE images, the following applies:
H = h/256 S = s/255 L = l/255 r = R*255 g = G*255 b = B*255SunOS 5.11 Last change: 12 Sep 2007 1
mediaLib Library Functions mlib_ImageColorHSL2RGB(3MLIB)
for MLIB_SHORT images, the following applies:
H = (h + 32768)/65536 S = (s + 32768)/65535 L = (l + 32768)/65535r = R*65535 - 32768
g = G*65535 - 32768
b = B*65535 - 32768
for MLIB_USHORT images, the following applies:
H = h/65536 S = s/65535 L = l/65535 r = R*65535 g = G*65535 b = B*65535and for MLIB_INT images, the following applies:
H = (h + 2147483648)/4294967296 S = (s + 2147483648)/4294967295 L = (l + 2147483648)/4294967295r = R*4294967295 - 2147483648
g = G*4294967295 - 2147483648
b = B*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 attri-
butes:SunOS 5.11 Last change: 12 Sep 2007 2
mediaLib Library Functions mlib_ImageColorHSL2RGB(3MLIB)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
mlib_ImageColorHSL2RGB_Fp(3MLIB),
mlib_ImageColorRGB2HSL(3MLIB),
mlib_ImageColorRGB2HSL_Fp(3MLIB), attributes(5)
SunOS 5.11 Last change: 12 Sep 2007 3