このコードで画面の一部のスクリーンショットを作成しています:
-(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 を再取得するため、時間がかかりすぎます。
メソッドをより高速に実行できるようにコードを改善するにはどうすればよいですか? ありがとう。