GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
INV_CMAP(3) FreeBSD Library Functions Manual INV_CMAP(3)

inv_cmap - efficiently compute an inverse colormap

void inv_cmap( colors, colormap, bits, dist_buf, rgbmap )

int colors, bits;
unsigned char *colormap[3], *rgbmap;
unsigned long *dist_buf;

Inv_cmap computes an inverse colormap to translate an RGB color to the nearest color in the given colormap. The arguments are
colors
The number of colors in the input colormap. Must be 256.
colormap
The input colormap. The ith color is (Colormap[0][i], Colormap[1][i], Colormap[2][i]).
bits
Controls the size and precision of the inverse colormap. The resulting colormap will be a cube 2^bits on a side, and will therefore contain 2^(3*bits) entries. RGB colors must be quantized to bits bits before using the inverse colormap.
dist_buf
Temporary storage used by inv_cmap. It should contain at least 2^(3*bits) elements.
rgbmap
The inverse colormap. Should be allocated with at least 2^(3*bits) elements. After calling inv_cmap, an RGB color (r,g,b) can be mapped to its closest representative in colormap by evaluating
#define quantize(p) ((p)>>(8-bits))
rgbmap[ (((quantize(r) << bits) | quantize(g)) << bits) | quantize(b) ]

Predicted performance is O(2^(3*bits)*log(colors)). The measured performance is sublinear (but not as good as log) in the number of input colors and also in the size of the output inverse colormap. (I.e., it goes up more slowly than 2^(3*bits).)

colorquant(3).

Spencer W. Thomas
Month DD, YYYY 4th Berkeley Distribution

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.