mlib_ImageColorHSV2RGB(3MLmediaLib Library Functimlib_ImageColorHSV2RGB(3MLIB)NAMEmlib_ImageColorHSV2RGB - HSV to RGB color conversion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageColorHSV2RGB(mlib_image *dst, const mlib_image *src);
DESCRIPTION
The mlib_ImageColorHSV2RGB() function performs a conversion from
hue/saturation/value to red/green/blue. The source and destination
images must be three-channel images.
It uses the following equations:
P = V*(1 - S)
Q = V*(1 - S*fraction(H*6))
T = V*(1 - S*(1 - 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, V, P, Q, T, R, G, B ≤ 1.
Assuming a pixel in the source image is (h, s, v) 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
V = v/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
V = (v + 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
V = v/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
V = (v + 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 ALSOmlib_ImageColorHSV2RGB_Fp(3MLIB), mlib_ImageColorRGB2HSV(3MLIB),
mlib_ImageColorRGB2HSV_Fp(3MLIB), attributes(5)SunOS 5.10 12 Sep 2007 mlib_ImageColorHSV2RGB(3MLIB)