如何保存我在CGContext中绘制的内容

时间:2010-04-02 18:31:34

标签: iphone cocoa-touch uiview

我已经绘制了一个UIView的CGContext。

- (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];
}

4 个答案:

答案 0 :(得分:6)

UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:@"image.png"];

答案 1 :(得分:6)

CGImageRef imgRef = CGBitmapContextCreateImage(context);

UIImage* img = [UIImage imageWithCGImage:imgRef];

CGImageRelease(imgRef);

答案 2 :(得分:1)

致电UIGraphicsGetImageFromCurrentImageContext获取UIImage 然后调用UIImagePNGRepresentation获取以PNG编码的UIImage的NSData 最后,调用-writeToFile:…来保存NSData。

答案 3 :(得分:0)

EventPerson