public
Created

Create a UIImage from a UIView

  • Download Gist
UIView+UIImageCreation.m
Objective-C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
@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

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.