我正在通过以下代码对屏幕的一部分进行截图:
-(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。
如何改进我的代码以使方法运行得更快?谢谢。