If you create a PNG surface with CAIRO_FORMAT_RGB24, then output is scrambed (multi-colored vertical stripes). It looks like someone is passing native-endian xRGB where packed RGB is expected.
Created attachment 2787 [details] [review] Patch to fix FORMAT_RGB24 writing to PNG
Here's a patch that fixes that problem. It doesn't seem to be possible to use a user tranformation function to pack RGBx into RGB, so I'm doing the transformation into a temporary storage.
Fixed now in CVS... somewhat different, I didn't remember there was a patch here, sorry. 2005-05-17 Owen Taylor <otaylor@redhat.com> * src/cairo-png.c (write_png): Only unpremultiply ARGB32 data, do a simpler conversion for RGB24 data (fixes #2297) Call png_write_info() *before* we set up the write conversion... it doesn't work after.
Move bugs against "cvs" version to "0.9.3" so we can remove the "cvs" version.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.