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