2012-05-02 87 views
0

我嘗試將網頁導出爲圖像,以便將其分享給某些不允許輸入太多單詞的社交網絡。當我嘗試將UIWebview的scrollview圖層渲染到當前上下文並創建圖像時,只需將該頁面的可見矩形對齊即可。我該怎麼做?非常感謝!如何將網頁導出/保存爲圖像?

回答

1
NSString *hStr = [web stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"];//get the height 
NSString *wtStr = [web stringByEvaluatingJavaScriptFromString:@"document.body.scrollWidth;"];// Get the width 
     web.frame=CGRectMake(0, 0, [wtStr floatValue], [hStr floatValue]); 
     UIGraphicsBeginImageContext(CGSizeMake(web.frame.size.width,web.frame.size.height)); 
     CGContextRef ctx = UIGraphicsGetCurrentContext(); 
     [web.layer renderInContext:ctx]; 
     UIImage *finalimage = UIGraphicsGetImageFromCurrentImageContext(); 
     UIGraphicsEndImageContext(); 

嘗試設置根據頁面的網頁視圖的高度和寬度,寬度和高度,然後採取截圖

+0

它真的有用,謝謝 – wcrane

0

,你可以嘗試這樣

UIGraphicsBeginImageContext(CGSizeMake(yourwebview.frame.size.width,yourwebview.frame.size.height)); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
[yourwebview.layer renderInContext:ctx]; 
finalimage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
+0

它只是我已經試過的方式,但它只能保存可見的矩形,而我真正想要的是整個網頁的內容。 – wcrane

+0

在uiwebview中有一個uiscrollview。 scrollview.contentSize讓你知道最大尺寸。你可以使用其他webview(不addubview)顯示此頁面,並捕捉此。 – DaidoujiChen