mlib_ImageColorRGB2HSL(3MLmediaLib Library Functimlib_ImageColorRGB2HSL(3MLIB)NAMEmlib_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 │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmlib_ImageColorHSL2RGB(3MLIB), mlib_ImageColorHSL2RGB_Fp(3MLIB),
mlib_ImageColorRGB2HSL_Fp(3MLIB), attributes(5)SunOS 5.11 2 Mar 2007 mlib_ImageColorRGB2HSL(3MLIB)