Непонятно, что вы пытаетесь сделать. Если вы хотите изменить цвет пикселя в исходном CGImageRef, вы должны использовать что-то вроде:
// Set the color of the pixel to 50% grey + 50% alpha
data[offset+0] = 128;
data[offset+1] = 128;
data[offset+2] = 128;
data[offset+3] = 128;
// Create a CGBitmapImageContext
CGContextRef bitmapContext = CGBitmapContextCreate(data, width, height, CGImageGetBitsPerComponent(), width * 4, CGImageGetColorSpace(), kCGImageAlphPremultipliedFirst);
// Draw the bitmap context back to your original context
CGContextDrawImage(bitmapContext, CGMakeRect(...), cgctx);
Вы должны внести все свои изменения в данные * сразу, а затем записать измененный буфер растрового изображения обратно в исходный контекст.