LERP(9.1) LERP(9.1)
NAME
lerp, sub - linear combinations of images
SYNOPSIS
fb/lerp file fraction [ file fraction ... ]
fb/sub file1 file2
DESCRIPTION
Lerp computes a linear combination of a number of input images. Each input file name is followed by a floating-point fraction by which to
scale its pixel values. The fraction after the last image may be omitted, in which case one minus the sum of the other fractions is used.
The resulting image is written to standard output.
Nothing prevents the fractions from being smaller than zero or larger than one. Output pixel values that fall below zero or above 255 are
clamped.
Sub reads two images, which must be the same size and have the same number of channels. Each channel of each pixel of the output image is
the absolute value of the difference between the corresponding input values.
SOURCE
/sys/src/fb/lerp.c
/sys/src/fb/sub.c
SEE ALSO
picfile(9.6)
LERP(9.1)
Check Out this Related 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)