Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mlib_imagecolorhsl2rgb(3mlib) [opensolaris man page]

mlib_ImageColorHSL2RGB(3MLIB)				    mediaLib Library Functions				     mlib_ImageColorHSL2RGB(3MLIB)

NAME
mlib_ImageColorHSL2RGB - HSL to RGB color conversion SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> 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 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 MLIB_BYTE images, the following applies: H = h/256 S = s/255 L = l/255 r = R*255 g = G*255 b = B*255 for MLIB_SHORT 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 MLIB_USHORT images, the following applies: H = h/65536 S = s/65535 L = l/65535 r = R*65535 g = G*65535 b = B*65535 and for MLIB_INT 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 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 ALSO
mlib_ImageColorHSL2RGB_Fp(3MLIB), mlib_ImageColorRGB2HSL(3MLIB), mlib_ImageColorRGB2HSL_Fp(3MLIB), attributes(5) SunOS 5.11 12 Sep 2007 mlib_ImageColorHSL2RGB(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 |Committed | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
mlib_ImageColorHSL2RGB(3MLIB), mlib_ImageColorHSL2RGB_Fp(3MLIB), mlib_ImageColorRGB2HSL_Fp(3MLIB), attributes(5) SunOS 5.11 2 Mar 2007 mlib_ImageColorRGB2HSL(3MLIB)
Man Page