public static unsafe void ColorAdjust(Gdk.Pixbuf src, Gdk.Pixbuf dest, Cms.Transform trans) { int width = src.Width; byte *srcpix = (byte *)src.Pixels; byte *destpix = (byte *)dest.Pixels; for (int row = 0; row < src.Height; row++) { trans.Apply((IntPtr)(srcpix + row * src.Rowstride), (IntPtr)(destpix + row * dest.Rowstride), (uint)width); } }