2012-05-02 7 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(); 

이 페이지에 따라 webviews 높이와 폭이 폭 설정 시도 방법과 높이를 시도하고 스크린 샷을 걸릴 수 있습니다

+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는 최대 크기를 알려줍니다. 당신은 다른 웹보기 (addubview하지 말아요)를 사용하여이 페이지를 보여줄 수 있습니다. – DaidoujiChen

관련 문제