正常绘制
-
UIGraphicsBeginImageContext
UIGraphicsBeginImageContext(self.view.bounds.size); [self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:YES]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();
绘制拓展
-
UIGraphicsBeginImageContextWithOptions
CGFloat scale = [UIScreen mainScreen].scale; UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, scale); [self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:YES]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();
补充
-
截取需要的部分视图
UIImage *clipImage = [UIImage imageWithCGImage:CGImageCreateWithImageInRect(viewImage.CGImage, CGRectMake(x, y, w, h))];