--- CV/CV.xs 2005/08/19 00:34:54 1.25 +++ CV/CV.xs 2005/08/21 02:23:52 1.27 @@ -142,6 +142,30 @@ RETVAL GdkPixbuf_noinc * +dealpha_expose (GdkPixbuf *pb) + CODE: +{ + int w = gdk_pixbuf_get_width (pb); + int h = gdk_pixbuf_get_height (pb); + int bpp = gdk_pixbuf_get_n_channels (pb); + int x, y, i; + guchar *src = gdk_pixbuf_get_pixels (pb), *dst; + int sstr = gdk_pixbuf_get_rowstride (pb), dstr; + + RETVAL = gdk_pixbuf_new (GDK_COLORSPACE_RGB, 0, 8, w, h); + + dst = gdk_pixbuf_get_pixels (RETVAL); + dstr = gdk_pixbuf_get_rowstride (RETVAL); + + for (x = 0; x < w; x++) + for (y = 0; y < h; y++) + for (i = 0; i < 3; i++) + dst[x * 3 + y * dstr + i] = src[x * bpp + y * sstr + i]; +} + OUTPUT: + RETVAL + +GdkPixbuf_noinc * transpose (GdkPixbuf *pb) CODE: {