Re: Reducing number of colors
Chris Wilson <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 02, 2013 at 02:04:11PM +0200, Bernhard R. Fischer wrote: > On Tuesday 02 July 2013 13:27:00 Chris Wilson wrote: > > On Tue, Jun 25, 2013 at 08:16:22AM +0200, Bernhard R. Fischer wrote: > > > Hi! > > > > > > Image surfaces are supported as true color (24/32 bit) or 5/6/5 bit > > > pixels. > > > > > > Is there any native way in cairo to reduce colors to fixed number palette > > > image? > > > > No, there is nothing inside cairo to perform the quantization you wish - > > it is outside of Cairo's scope. I would suggest you hook the output of > > your rendering into ImageMagick and use some of its routines to control > > the quantization of the image to a fixed palette. > > -Chris > > Hi Chris, > > I think that there is some code somwhere which could be used for that purpose > because it is possible to copy a 24 bit surface to a 16 bit surface which > obviously requires color reduction. The code you mention is src/cairo-xlib-surface.c when pushing images to X. If both are truecolor, we use pixman to do the conversion (or failing that do the shifts ourselves). For other formats, we have a relatively simple mapping from r8g8b8 to the Visual's palette. That is a much simpler task than picking an optimal palette for an image. -Chris -- Chris Wilson, Intel Open Source Technology Centre -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo