iOS webview实现截屏的功能
- 项目的应用场景
-
实现网页的截屏功能用于分享到微信图片,类似于分享证书等,代码如下
- (UIImage *)createImageWithView:(UIView *)view { CGSize s = view.bounds.size;
>//第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,设置为[UIScreen mainScreen].scale可以保证转成的图片不失真。
UIGraphicsBeginImageContextWithOptions(s, YES,[UIScreen mainScreen].scale);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage*image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
} - 调用方式,self.webview是我们需要截屏的webview
UIImage *shotImage = [self createImageWithView:self.webView];