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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.