不仅仅是截图--截取整个scrollView的内容

xiaoxiao2021-02-28  62

以下的方法,非常简单的实现截取整个scrollView控件及其子控件的内容,比如tableView等,并生成一张图片。不仅仅是我们可以看到的一屏大小的内容。

- (UIImage *)screenShotImageOfScrollView:(UIScrollView *)scrollView { UIImage* image = nil; //获取图片 UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, NO, 0.0); { CGPoint savedContentOffset = scrollView.contentOffset; CGRect savedFrame = scrollView.frame; scrollView.contentOffset = CGPointZero; scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height); [scrollView.layer renderInContext: UIGraphicsGetCurrentContext()]; image = UIGraphicsGetImageFromCurrentImageContext(); scrollView.contentOffset = savedContentOffset; scrollView.frame = savedFrame; } UIGraphicsEndImageContext(); //存储图片 //设置图片的存储路径 NSString *pathDocument = NSHomeDirectory(); NSString *imagePath = [path_document stringByAppendingString:@"/Documents/abc.png"]; [UIImagePNGRepresentation(image) writeToFile:imagePath atomically:YES]; // 将存储的图片再取出来,然后上传 NSString * path = imagePath; // 二进制的数据就可以进行上传 NSData * data = [NSData dataWithContentsOfFile:path]; getImage = [UIImage imageWithData:data]; if (image != nil) { return image; } return nil; }
转载请注明原文地址: https://www.6miu.com/read-31724.html

最新回复(0)