mediaLib Library Functions mlibImageColorHSL2RGB(3MLIB)
NAME
mlibImageColorHSL2RGB - HSL to RGB color conversion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibImageColorHSL2RGB(mlibimage *dst, const mlibimage *src);
DESCRIPTION
The mlibImageColorHSL2RGB() 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.
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 MLIBYTE images, the following applies:
H = h/256
S = s/255
L = l/255
r = R*255
g = G*255
b = B*255
SunOS 5.11 Last change: 12 Sep 2007 1
mediaLib Library Functions mlibImageColorHSL2RGB(3MLIB)
for MLIBSHORT images, the following applies:
H = (h ] 32768)/65536
S = (s ] 32768)/65535
L = (l ] 32768)/65535
r = R*65535 - 32768
g = G*65535 - 32768
b = B*65535 - 32768
for MLIBUSHORT images, the following applies:
H = h/65536
S = s/65535
L = l/65535
r = R*65535
g = G*65535
b = B*65535
and for MLIBINT images, the following applies:
H = (h ] 2147483648)/4294967296
S = (s ] 2147483648)/4294967295
L = (l ] 2147483648)/4294967295
r = 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 MLIBSUCES if successful. Otherwise
it returns MLIBFAILURE.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 12 Sep 2007 2
mediaLib Library Functions mlibImageColorHSL2RGB(3MLIB)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibImageColorHSL2RGBFp(3MLIB),
mlibImageColorRGB2HSL(3MLIB),
mlibImageColorRGB2HSLFp(3MLIB), attributes(5)
SunOS 5.11 Last change: 12 Sep 2007 3
|