Skip to content

Instantly share code, notes, and snippets.

@cspickert
Created August 30, 2011 20:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cspickert/1181935 to your computer and use it in GitHub Desktop.
Save cspickert/1181935 to your computer and use it in GitHub Desktop.
Create a UIImage from a UIView
@interface UIView (UIImageCreation)
- (UIImage *)createImageFromRect:(CGRect)frame;
- (UIImage *)createImage;
@end
@implementation UIView (UIImageCreation)
- (UIImage *)createImageFromRect:(CGRect)frame
{
UIGraphicsBeginImageContext(frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGPoint origin = [self bounds].origin;
CGPoint offset = frame.origin;
CGContextTranslateCTM(context, origin.x - offset.x, origin.y - offset.y);
[[self layer] renderInContext:context];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
- (UIImage *)createImage
{
return [self createImageFromRect:[self bounds]];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment