2011-05-26 4 views
5

क्या एचटीएमएल पेज को कोको में छवि में परिवर्तित करना संभव है?कोको में छवि में एचटीएमएल दस्तावेज़ को कनवर्ट करने के लिए

वास्तव में मैंने HTML में पूरा दृश्य बनाया है और अब मैं पूरे HTML पूर्वावलोकन को छवि (किसी भी जेपीईजी या पीएनजी इत्यादि) में कनवर्ट करना चाहता हूं।

मुझे वेब पर कोई संसाधन या नमूना नहीं मिला, जो मेरे उपरोक्त प्रश्नों पर कुछ प्रकार की सहायता प्रदान करता है। अगर कोई इस पर अपना ज्ञान साझा कर सकता है तो मैं इसकी सराहना करता हूं।

अग्रिम धन्यवाद ..

+0

क्या आप इसे आईओएस में करना चाहते हैं? –

उत्तर

7

सबसे पहले, मैं सर्जियो का शुक्रिया अदा करना चाहता हूं ... उसका जवाब मुझे शुरू कर दिया लेकिन मैंने सोचा कि मैं कुछ कोड साझा करूंगा जो मुझे स्पष्ट नहीं था कि मुझे इसे काम करने के लिए लिखना था: अंत में इस थंबनेल you'l प्रदर्शित करने के लिए

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    UIGraphicsBeginImageContext(webView.bounds.size); 
    [webView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *webViewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    NSData *thumbnailData = UIImagePNGRepresentation(webViewImage); 
    [webView removeFromSuperview]; 
} 

,:

// Your width and height can be whatever you like, but if you want this to render 
// off screen, you need an x and y bigger than the superview's width and height 
UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectMake(largerScreenDimension, largerScreenDimension, largerScreenDimension, largerScreenDimension)]; 
[self.view addSubview:webView]; // UIWebViews without an assigned superview don't load ever. 
webView.delegate = self; // or whoever you have implement UIWebViewDelegate 
webView.scalesToFit = YES; // This zooms the page appropriately to fill the entire thumbnail. 
[webView loadRequest:[NSURLRequest requestWithURL:url]]; 

तो यह आपके प्रतिनिधि में लागू:

यहाँ कैसे कभी होने यह प्रदर्शित बिना एक पेज के लिए एक थंबनेल बनाने के लिए है मुझे कुछ चाहिए:

thumbnailImageView.image = [UIImage imageWithData:thumbnailData]; 

एक बोनस चीज़ के रूप में मैं उल्लेख करूंगा, मैं एक साथ कई थंबनेल उत्पन्न करना चाहता था। मुझे objc_setAssociatedObject() और objc_getAssociatedObject() का उपयोग करके पता चला कि कौन सा वेब व्यू लोड हो रहा था, यह ट्रैक रखने में बहुत मददगार था। इस सवाल के दायरे से परे यह काम करने के तरीके पर विस्तार से जा रहा है।

+0

ग्रेट उत्तर। केवल एक छोटी सी चीज है जिसे मैं काम नहीं कर सकता। मैं नहीं चाहता कि छवि किसी भी अनुपात में हो। तो मैंने स्केल टॉफिट को बंद करने और initWithFrame में अपनी चौड़ाई और ऊंचाई डालने की कोशिश की। हालांकि, अब मुझे एक खाली छवि मिलती है। कोई विचार? धन्यवाद – hishamaus

+0

@ हिशामॉस: यदि आपके पास और प्रश्न हैं तो आपको उन्हें अलग से पोस्ट करना चाहिए, मुझे लगता है। मैंने हाल ही में ओब्जे-सी के साथ काम नहीं किया है, इसलिए मुझे यकीन नहीं है कि आपके प्रश्न का उत्तर कैसे दिया जाए। – ArtOfWarfare

3

आप एक छवि संदर्भ में आपके विचार आकर्षित कर सकते हैं, इस तरह:

UIWebView* view = ... 
.... 
UIGraphicsBeginImageContext(view.bounds.size);  
[view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
NSData *imagedata = UIImagePNGRepresentation(viewimage); 
NSString *encodedString = [imageData base64Encoding]; 

एक अन्य विकल्प एक पीडीएफ बनाने के लिए क्वार्ट्ज पीडीएफ इंजन का उपयोग किया जाएगा।

+0

असल में मैं क्विकलुक प्लगइन में थंबनेल के रूप में छवि का उपयोग करने की कोशिश कर रहा हूं इसलिए वेबव्यू का उपयोग करना संभव नहीं है। अग्रिम धन्यवाद .. –

+0

@ विनाज जैन: मैंने वहां 'UIWebView' रखा है क्योंकि आपने कहा था "मैंने HTML में पूरा दृश्य बनाया है और अब मैं संपूर्ण HTML पूर्वावलोकन को कन्वर्ट करना चाहता हूं"। तो यह आपके पास है, मुझे लगता है। मेरा कोड एक 'UIImage' बनाएगा जिसे आप अपनी प्लगइन में डाल सकते हैं और यह स्क्रीन पर जो भी दृश्य खींच सकता है उसके साथ काम करेगा। – sergio

+0

okkk ... मैं कोशिश करूंगा ... आपकी मदद के लिए बहुत बहुत धन्यवाद ... –

संबंधित मुद्दे