[cairo] GIF, PNG and MNG supports
vladimir at pobox.com
Tue Oct 23 11:07:10 PDT 2007
Nguyen Vu Hung wrote:
> 2007/10/23, Stuart Parmenter <stuartp at gmail.com>:
>> Image decoders don't belong in cairo. the PNG stuff was done to make
>> testing easier and should have probably been done in an external
>> library. It would be great to see someone put together an little
>> external helper library to load images in to cairo surfaces though.
> As stated in the README file:
> What is cairo
> Cairo is a 2D graphics library with support for multiple output
> devices. Currently supported output targets include the X Window
> System, win32, and image buffers, as well as PDF, PostScript, and SVG
> file output. Experimental backends include OpenGL (through glitz),
> Quartz, XCB, BeOS, OS/2, and DirectFB.
Exactly; "image buffer" here really means "software bitmap buffer".
You'll note that there is no mention of PNG; indeed, cairo cannot use
png as an "output target"; you use a generic image surface, and then you
can compress that down to png. As stuart said, those helper functions
are there for testing purposes, and aren't really a necessary part of
> I think make cairo support GIF output is a good thing to do.
> Now GIF patent is expired so more and more applications are coming
> back to support GIF. There is no more politic bullshit regarding GIF
> anymore. IMO, PNG has better than GIF in compression ratio but PNG
> does not support animation. MNG is the future of both GIF and PNG. So
> why we limit ourself in just PNG?
I strongly disagree with putting in GIF (or especially MNG) support
inside cairo. An image manipulation or generation tool could certainly
use a gif compressor or libmng or whatever to generate data, but there
is no support from cairo -necessary- to implement this.
More information about the cairo