如何将UIWebView转换为位图

时间:2012-04-20 08:16:09

标签: ios uiwebview bitmap

大家好,我一直试图将我正在显示ppt文件的UIWebView转换为位图图像。

我有这段代码:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 768, 708)];

NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:nil];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

NSLog(@"Ouverture du contexte image");
UIGraphicsBeginImageContext(webView.bounds.size);
[webView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

webview实际上已经很好地显示了,但我没有设法创建它的图像渲染, 如果有人知道问题在哪里;) Thankss

1 个答案:

答案 0 :(得分:2)

您的截屏代码没有任何问题 - 您只是过早地使用它。

[webView loadRequest:request];启动异步客户端请求。这意味着您在加载其内容之前会截取webView的屏幕截图。

将屏幕截图代码移至UIWebViewDelegate的方法webViewDidFinishLoad:。当然,您必须为delegate分配webView才能实现此目标。