1

大家好,我一直在尝试将我当前正在显示 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实际上显示得很好,但我没有设法创建它的渲染图像,如果有人知道问题出在哪里;)谢谢

4

1 回答 1

2

你的截图代码没有任何问题——你只是过早地使用它。

[webView loadRequest:request];发起一个异步客户端请求。这意味着您webView甚至在加载其内容之前就对其进行了截图。

将您的截屏代码移至UIWebViewDelegate's 方法webViewDidFinishLoad:。当然,你将不得不为delegate你分配一个webView来实现这一点。

于 2012-04-20T11:44:35.113 回答