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