I have drawn into a CGContext of a UIView.
- (void)drawRect:(CGRect)rect {
[self drawInContext:UIGraphicsGetCurrentContext()]
}
I would like to save what I have drawn to a png file.
Is there a simple solution?
EDIT: Based on suggestions below - here's what I have so far....
-(void)createImage {
NSString* outFile = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.png"];
DLog(@"creating image file at %@", outFile);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:outFile
atomically:NO];
}
- (void)drawRect:(CGRect)rect {
[self drawInContext:UIGraphicsGetCurrentContext()];
[self createImage];
}
Call
UIGraphicsGetImageFromCurrentImageContext
to get an UIImage.Then call
UIImagePNGRepresentation
to get an NSData of the UIImage encoded in PNG.Finally, call
-writeToFile:…
to save the NSData.