我正在通过此代码截取屏幕的一部分:
-(UIImage *) takePic {
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size,YES, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
CGRect rect = CGRectMake(20,238 ,600 , 532);
CGImageRef imageRef = CGImageCreateWithImageInRect([viewImage CGImage], rect);
UIImage *img = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return img;
}
这很好用,但是需要花费太多时间,因为我首先使用整个Self.View.bounds的imageContext然后从中重新获得一个小的CGRect。
如何改进代码以使方法运行得更快?感谢。