UIGraphicsEndImageContext()需要太多的执行时间?

时间:2013-03-04 16:41:06

标签: ios objective-c uiimage screenshot

我正在通过此代码截取屏幕的一部分:

-(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。

如何改进代码以使方法运行得更快?感谢。

0 个答案:

没有答案