1

我正在通过以下代码对屏幕的一部分进行截图:

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

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

4

0 回答 0