man pages section 3: Multimedia Library Functions
Updated: July 2014

## mlib_ImageColorRGB2HSL_Fp(3MLIB)

### Name

mlib_ImageColorRGB2HSL_Fp - RGB to HSL color conversion

### Synopsis

```cc [ flag... ] file... –lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageColorRGB2HSL_Fp(mlib_image *dst,
const mlib_image *src);```

### Description

The mlib_ImageColorRGB2HSL_Fp() 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.

For MLIB_FLOAT and MLIB_DOUBLE images, the above equations are followed verbatim. Input R, G, and B component values must be limited to the [0.0, 1.0] range.

### 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