views:

1070

answers:

1

I want to be able to take a UIImage instance, modify some of its pixel data, and get back a new UIImage instance with that pixel data. I've made some progress with this, but when I try to change the array returned by CGBitmapContextGetData, the end result is always an overlay of vertical blue lines over the image. I want to be able to change the colors and alpha values of pixels within the image.

Can someone provide an end-to-end example of how to do this, starting with a UIImage and ending with a new UIImage with modified pixels?

A: 

This might answer your question: How to get the RGB values for a pixel on an image on the iphone

I guess you'd follow those instructions to get a copy of the data, modify it, and then create a new CGDataProvider (CGDataProviderCreateWithCFData), use that to create a new CGImage (CGImageCreate) and then create a new UIImage from that.

I haven't actually tried this (no access to a Mac at the moment), though.

Thomas Müller