Hi! I'm working on doing direct manipulation of a image surface data and I'm obtaining weird results when writing to png.
I want to obtain a image like this: http://imagebin.org/220100 but I get this: http://imagebin.org/220098 To create the image I use the following code: ///////////////////////////////////////////////// #include <cairo.h> int main (int argc, char *argv[]) { cairo_surface_t *surface; surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 480, 270); cairo_surface_flush(surface); unsigned char* data; unsigned char*position; int w, h, stride; data=cairo_image_surface_get_data(surface); w=cairo_image_surface_get_width(surface); h=cairo_image_surface_get_height(surface); stride=cairo_image_surface_get_stride(surface); unsigned char a, r, g, b; int x, y; a=255; r=178; g=55; b=55; for(y=0; y<h; y++) { for(x=0; x<w*4; x+=4) { position= (unsigned char*)(((char*)data)+y*stride); position[x]=a; position[x+1]=r; position[x+2]=g; position[x+3]=b; } } cairo_surface_mark_dirty(surface); cairo_surface_write_to_png(surface, "image.png"); cairo_surface_destroy(surface); return 0; } ////////////////////////////////////////////// I compiled it with: $ gcc -o cairo4 `pkg-config --cflags --libs gtk+-2.0` cairo4.c The png image file has the color somehow twisted and modified: a=56 r=255 g=9 b=88 I've re-checked that the written bytes are fine on the memory but I don't get the right results on the png file. Can anyone help me to let me know what I'm doing wrong? Or maybe it is something related to png backend? Thank you very much!! -- Carlos http://synfig.org ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl