Я вовлек CGContext UIView.
- (void)drawRect:(CGRect)rect {
[self drawInContext:UIGraphicsGetCurrentContext()]
}
Я хотел бы сохранить то, что я потянул в png файл.
Существует ли простое решение?
Править: На основе предложений ниже - вот то, что я имею до сих пор....
-(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];
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:@"image.png"];
Вызов UIGraphicsGetImageFromCurrentImageContext
, чтобы получить UIImage.
Затем вызовите UIImagePNGRepresentation
, чтобы получить NSData UIImage, закодированного в PNG.
Наконец, вызовите -writeToFile:…
, чтобы сохранить NSData.