Obj-C使用renderInContext

时间:2013-01-31 18:42:54

标签: ios objective-c image uiview

我试图渲染图像, 我一直在关注这个例子: Render a full UIImageView to a bitmap image

以及其他人。

我的问题是,当我到达行

[view.layer renderInContext:UIGraphicsGetCurrentContext()];

我收到一条警告,指出“-instance method'-renderInContex:'not found

我看到的每个示例都会使用此行渲染图像。那么为什么我的例子没有用呢?

下面是完整的代码:

-(void)RenderViewToImage:(UIView *)view
{    
     UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0);
     [view.layer renderInContext:UIGraphicsGetCurrentContext()];
     UIImage *bitmapImage = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();

     NSArray *documentsPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,    NSUserDomainMask, YES);
     NSString *documentsDir = [documentsPaths objectAtIndex:0];
     [UIImagePNGRepresentation(bitmapImage) writeToFile:[documentsDir stringByAppendingString:@"num1.png"] atomically:YES];   

}

1 个答案:

答案 0 :(得分:3)

确保链接到QuartzCore框架。

确保导入以下标题:

#import <QuartzCore/QuartzCore.h>