Codec ░ context

334Combining Images with UIImage & CGContext – (Offscreen drawing)

In Cocoa NSImage has a lockFocus method, that allows to draw images offscreen and combine them into one.

[img lockFocus];
//...
[img unlockFocus];

On the iPhone, UIImage lacks the lockFocus methods, instead the following:

// Create new offscreen context with desired size
UIGraphicsBeginImageContext(CGSizeMake(64.0f, 64.0f));
 
// draw img at 0,0 in the context
[img drawAtPoint:CGPointZero];
 
// draw another at 0,0 in the context, maybe with an alpha value
[another drawAtPoint:CGPointZero];
 
// ... and other operations
 
// assign context to UIImage
UIImage *outputImg = UIGraphicsGetImageFromCurrentImageContext();
 
// end context
UIGraphicsEndImageContext();

581Resizing an UIImage 569Layering one UIImage onto of another UIImage 553CAAnimation and the Snapback Problem 347UIImage → pixelData → UIImage Rountrip 338Accessing RGBA Pixel Data