2010-03-01 9 views
5

यह उसी तरह है कि एक एक बिटमैप (PNG, JPEG) फ़ाइल प्रदान कर सकते हैं में iPhone पर एक वेक्टर छवि फ़ाइल रेंडर करने के लिए संभव है? मैं ईपीएस और पीडीएफ फाइलों, काम करने के लिए लगता है, जिनमें से न तो कोशिश की है - वे इंटरफ़ेस बिल्डर में सही ढंग से प्रदर्शित कर रहे हैं लेकिन प्रदर्शित नहीं करते जब रन।क्या आईफोन वेक्टर ग्राफिक्स फ़ाइलों को सीधे प्रस्तुत कर सकता है? कौन से प्रारूप समर्थित हैं?

सांत्वना की तर्ज पर एक संदेश

' "image.pdf" छवि पहचानकर्ता "com.yourcompany.project" के साथ बंडल में एक निब से संदर्भित लोड नहीं कर सका आउटपुट इस पर मेरे सभी खोजों ओपनजीएल, आदि का उपयोग कर वेक्टर फाइलों को चित्रित करने की चर्चा के साथ आओ। क्या यह एकमात्र तरीका है? चूंकि वेक्टर फ़ाइल समर्थन का कोई जिक्र नहीं है, इसलिए मुझे यकीन नहीं है कि फ़ाइलों के साथ समस्याओं के कारण मेरी फ़ाइलों को लोड नहीं किया जा रहा है (मैंने विभिन्न संस्करणों का प्रयास किया है), या क्योंकि वे समर्थित नहीं हैं।

उत्तर

1

पीडीएफ़ UIWebView द्वारा लोड किया जा सकता। आप अधिक नियंत्रण की जरूरत है अगर आपके पास PDF रेंडर करने के लिए क्वार्ट्ज 2 डी का उपयोग कर सकते हैं: Quartz2D

2

कोई प्रत्यक्ष वेक्टर ग्राफिक्स स्वरूपों के लिए समर्थन नहीं है की तरह पीएनजी और जेपीईजी के लिए नहीं है। किसी भी वेक्टर ग्राफिक्स प्रतिपादन को प्रोग्रामेटिक रूप से किया जाएगा, यानी क्वार्ट्ज ड्राइंग कॉल का उपयोग करके पथ ऑब्जेक्ट्स को स्ट्रोक करना और भरना।

1

हाँ, यह एसवीजी समर्थन करता है।

आप एसवीजी पर अपना सदिश फ़ाइलों को कनवर्ट और राफेल की तरह एक पुस्तकालय का उपयोग कर जावास्क्रिप्ट के लिए रूपांतरण द्वारा उन्हें प्रदान कर सकते हैं। मेरी राफेल-आधारित वेबसाइटों में फ्लैश जैसी कार्यक्षमता है और वे आईफोन पर पूरी तरह से प्रस्तुत करते हैं - वेब मानकों का लाभ!

4

एक देशी रूप पीडीएफ छवियों प्रस्तुत करना, और कोर ग्राफिक्स के साथ, उन्हें रूप में अच्छी तरह बना सकते हैं। कुछ इस तरह:

void DrawPDF (CGContextRef context, NSString *name) 
{ 
    NSURL *url = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource: name ofType: @"pdf"]]; 

    CGPDFDocumentRef doc = CGPDFDocumentCreateWithURL((CFURLRef)url); 
    CGPDFPageRef page = CGPDFDocumentGetPage(doc, 1); 

    CGRect box = CGPDFPageGetBoxRect(page, kCGPDFCropBox); //kCGPDFArtBox); 
    CGContextDrawPDFPage(context, page); 

    CGPDFDocumentRelease(doc); 
} 

एसवीजी के लिए यूआईवेब व्यू।

1

आप एसवीजी फ़ाइलों को कोर ग्राफिक्स उद्देश्य-सी कोड में परिवर्तित करने के लिए http://www.codeautomat.com/ जैसे कुछ का उपयोग कर सकते हैं।

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