Re: cairocffi and GDK-PixBuf for decoding JPEG and other image formats

Bill Spitzak <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
It is written for game development which may be a reason it is being 
ignored here, but ImageMagic (sp?) does the job. It reads lots of image 
formats, produces ARGB32, and *only* does images (ie you are not getting 
glib or gtk). It reads hundreds of image formats using a .so system.

I think there are about a dozen others as well.

Should probably look into them.

On 02/27/2013 07:15 PM, Krzysztof Kosiński wrote:
> 2013/2/26 Simon Sapin <[email protected]>:
>> Hi,
>>
>> A long-standing feature request on cairo has been the ability to decode JPEG
>> and other image formats, just like cairo_image_surface_create_from_png()
>> does for PNG.
>>
>> The response has been that this does not belong in cairo itself.
>>
>> GDK-PixBuf can load many image formats, but uses a different internal format
>> for pixel data. I just added some integration code in cairocffi, to wrap
>> GDK-PixBuf and do the pixel conversion:
>>
>> http://pythonhosted.org/cairocffi/pixbuf.html
>>
>> (cairocffi is a drop-in alternative to pycairo.)
>
> In Inkscape I wanted to avoid using gdk_cairo_set_source_pixbuf(),
> since it creates a copy and therefore unnecessarily wastes memory.
> This can be a problem when the SVG file contains several full-size
> photos. I used a hack that involves shuffling around the components
> and premultiplying alpha in the pixbuf data, then calling
> cairo_image_surface_create_for_data(). This is followed by calling
> cairo_set_user_data() with g_object_unref() as a destroy function to
> store a reference to the GdkPixbuf in the image surface. Naturally, if
> the pixbuf is not reverted to its original state before e.g. saving
> it, the output will be garbled.
>
> This hack could be avoided if there was a way to specify image formats
> other than Cairo's default of native-endian ARGB with premultiplied
> alpha, so that the data in a GdkPixbuf could be used to create a Cairo
> image surface without modifications.
>
> Regards, Krzysztof
>

-- 
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.