Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to obtain a CGImageRef from the content of an UIView?

I have an UIView where I was drawing some stuff inside -drawRect:. Now I need a CGImageRef from this graphics context or bitmap of the UIView. Is there an easy way to get that?

like image 662
openfrog Avatar asked Sep 23 '10 10:09

openfrog


1 Answers

Like this (typed from memory, so it might not be 100% correct):

// Get a UIImage from the view's contents
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, view.contentScaleFactor);
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// Convert UIImage to CGImage
CGImageRef cgImage = image.CGImage;
like image 167
Ole Begemann Avatar answered Nov 08 '22 16:11

Ole Begemann