- uint32 pixel = *(uint32 *)p;
- int r = TIFFGetR(pixel);
- int g = TIFFGetG(pixel);
- int b = TIFFGetB(pixel);
- int a = TIFFGetA(pixel);
-
- *p++ = b;
- *p++ = g;
- *p++ = r;
- *p++ = a;
+ guint32 *pixel = (guint32*)p;
+ guint8 r = TIFFGetR(*pixel);
+ guint8 g = TIFFGetG(*pixel);
+ guint8 b = TIFFGetB(*pixel);
+ guint8 a = TIFFGetA(*pixel);
+
+ *pixel = (a << 24) | (r << 16) | (g << 8) | b;
+
+ p += 4;