在这里首先明确,View中显示的东西都在在layer中的。
我们通过renderInContext来渲染layer中的内容
- (void)viewDidLoad {
[super viewDidLoad];
//截取当前的View
//1.创建图层
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
//2.渲染layer
CGContextRef ctr = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:ctr];
CGContextStrokePath(ctr);
//3.取出image
UIImage *imageNew = UIGraphicsGetImageFromCurrentImageContext();
//4.关闭图层
UIGraphicsEndImageContext();
//5.将图片转换成NSData
NSData *data = UIImagePNGRepresentation(imageNew);
[data writeToFile:@"/Users/misaka/Desktop/1.png" atomically:YES];
// Do any additional setup after loading the view, typically from a nib.
}