mlib_ImageColorErrorDiffusionMxN(3MLIB) mediaLib Library Functions mlib_ImageColorErrorDiffusionMxN(3MLIB)
NAME
mlib_ImageColorErrorDiffusionMxN - true-color to indexed-color or grayscale to black-white conversion, using error diffusion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageColorErrorDiffusionMxN(mlib_image *dst,
const mlib_image *src, const mlib_s32 *kernel,
mlib_s32 m, mlib_s32 n, mlib_s32 dm, mlib_s32 dn,
mlib_s32 scale, const void *colormap);
DESCRIPTION
The mlib_ImageColorErrorDiffusionMxN() function converts a 3-channel image to a 1-channel indexed image, or converts a 1-channel grayscale
image to a 1-channel MLIB_BIT image, with the method of error diffusion.
The src can be an MLIB_BYTE image with 1 or 3 channels. The dst must be a 1-channel MLIB_BIT or MLIB_BYTE image.
The colormap must be created by mlib_ImageColorDitherInit(). It may or may not have a colorcube included. If it does, the colorcube is
used. Otherwise, the general lookup table included in colormap is used.
The kernel is required to have the following property:
kernel[0] = kernel[1] = ... = kernel[m*dn+dm] = 0;
kernel[m*dn+dm+1] + ... + kernel[m*n-1] = 2**scale;
scale >= 0
PARAMETERS
The function takes the following arguments:
dst Pointer to destination image.
src Pointer to source image.
kernel Pointer to the error-distribution kernel, in row major order.
m Kernel width. m > 1.
n Kernel height. n > 1.
dm X coordinate of the key element in the kernel. 0 <= dm < m.
dn Y coordinate of the key element in the kernel. 0 <= dn < n.
scale The scaling factor for kernel to convert the input integer coefficients into floating-point coefficients:
floating-point coefficient = integer coefficient *
2**(-scale)
colormap Internal data structure for image dithering.
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_ImageColorDitherInit(3MLIB), mlib_ImageColorDitherFree(3MLIB), mlib_ImageColorErrorDiffusion3x3(3MLIB), mlib_ImageColorOrdered-
Dither8x8(3MLIB), mlib_ImageColorOrderedDitherMxN(3MLIB), attributes(5)
SunOS 5.11 2 Mar 2007 mlib_ImageColorErrorDiffusionMxN(3MLIB)