gpt4 book ai didi

ios - 如何捕获包含所有内容的 UIWebview 的屏幕截图?

转载 作者:可可西里 更新时间:2023-11-01 05:06:37 25 4
gpt4 key购买 nike

我能够捕获整个网页的屏幕截图(包括屏幕外的内容)。这在模拟器上工作正常,但在设备上它崩溃了。请帮助我,检查下面的代码(browserView 是 UIWebview)。

UIImage *screenImage=[[UIImage alloc] init];
UIScrollView *browserScrollableView=[[UIScrollView alloc] init];
browserScrollableView=browserView.scrollView;
UIGraphicsBeginImageContext(browserScrollableView.contentSize);
CGPoint savedContentOffset = browserScrollableView.contentOffset;
CGRect savedFrame = browserScrollableView.frame;

browserScrollableView.contentOffset = CGPointZero;
browserScrollableView.frame = CGRectMake(0, 0, browserScrollableView.contentSize.width, browserScrollableView.contentSize.height);

[browserScrollableView.layer renderInContext: UIGraphicsGetCurrentContext()];
screenImage = UIGraphicsGetImageFromCurrentImageContext();

browserScrollableView.contentOffset = savedContentOffset;
browserScrollableView.frame = savedFrame;
UIGraphicsEndImageContext();

NSLog(@"Captured image size is %f X %f",screenImage.size.width,screenImage.size.height);

UIImageWriteToSavedPhotosAlbum(screenImage, nil, nil, nil);

最佳答案

+ (UIImage*) captureWebView: (UIWebView*)webView {
// capture webview
UIImage *img = nil;
UIGraphicsBeginImageContextWithOptions(webView.scrollView.contentSize, webView.scrollView.opaque, 0.0);
{
CGPoint savedContentOffset = webView.scrollView.contentOffset;
CGRect savedFrame = webView.scrollView.frame;

webView.scrollView.contentOffset = CGPointZero;
webView.scrollView.frame = CGRectMake(0, 0, webView.scrollView.contentSize.width, webView.scrollView.contentSize.height);
[webView.scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
img = UIGraphicsGetImageFromCurrentImageContext();

webView.scrollView.contentOffset = savedContentOffset;
webView.scrollView.frame = savedFrame;
}
UIGraphicsEndImageContext();
return img;
}

关于ios - 如何捕获包含所有内容的 UIWebview 的屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10225633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com