iOS 如何截取超出屏幕区域的图片

直接调用截屏的方法即可,

//截屏的方法
- (void)screenCapture{
    UIImage *image = [self captureScrollView:self.collectionView];
    //保存到相册
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    NSLog(@"截屏结束啦!");
}
//传入需要截屏的scrollView / tableView / collectionView

- (UIImage *)captureScrollView:(UIScrollView *)scrollView {
    //设置控件显示的区域大小
    scrollView.frame = CGRectMake(0, _collectionView.frame.origin.y, _collectionView.contentSize.width, _collectionView.contentSize.height);
    //设置截屏大小(截屏区域的大小必须要跟视图控件的大小一样)
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, YES, 0.0);
    [[scrollView layer] renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return viewImage;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容