2012-01-13 12 views
5

मैंने इस मामले से लड़ने वाले बहुत से लोगों को देखा है, लेकिन मुझे उचित समाधान नहीं मिल रहा है, न ही मेरी जरूरतों के अनुरूप कोई भी।क्या किसी भी ब्राउज़र (पुराने आईई सहित) में राफेल पेपर परिणाम को पीएनजी/एसवीजी में बदलने का कोई तरीका है?

मैं राफेल के साथ कुछ चार्ट कर रहा हूं, और मुझे मूल रूप से उन्हें पीएनजी (निर्यात के लिए, या पीडीएफ में बाद में उपयोग, और कुछ अन्य सामान) के रूप में प्राप्त करने की आवश्यकता है। फ़ायरफ़ॉक्स, क्रोम, आईई 9, और एसवीजी समर्थन के साथ कोई अन्य ब्राउज़र आसान है। वास्तव में इसे प्राप्त करने के दो तरीके हैं: एसवीजी को कैनवास तत्व में प्रस्तुत करने के लिए कैनव का उपयोग करके और फिर छवि डेटा प्राप्त करें; या सर्वर पर एसवीजी भेजना (सी #) और इसे रास्टराइज करने के लिए लाइब्रेरी का उपयोग करना।

समस्या यह है कि, आईई 8 और 7 समस्या है। इन ब्राउज़रों में, राफेल वीएमएल आउटपुट करता है, और एसवीजी स्रोत प्राप्त करने का कोई तरीका नहीं है। मुझे कोई वीएमएल रास्टरराइज़र नहीं मिला, इसलिए यह मुझे एकमात्र समाधान देता है: वीएमएल को एसवीजी में अनुवाद करने के लिए, या एसवीजी में पेपर को फिर से निकालने के लिए।

मैंने वेक्टरकॉन्टर लाइब्रेरी पोर PHP की जांच की, जो वास्तव में एसवीजी में वीएमएल का अनुवाद करने के लिए एक्सएसएलटी ट्रांसफॉर्मेशन का उपयोग करता है, लेकिन मैं इसे काम नहीं कर सका (मैंने एक्सएसएल का परीक्षण करने के लिए कई टूल की कोशिश की है लेकिन न ही काम करने लगती है)।

मैं एक छिपा div करने के लिए उत्पादन एसवीजी के राफेल के लिए मजबूर करने की कोशिश की, उसके गुण .type, .svg, और .vml ठीक से बदलकर, लेकिन है कि या तो काम नहीं किया।

मुझे लगता है कि एसईजी पेड़ को एक छिपी हुई डीआईवी में आईई में लिखने का एक तरीका हो सकता है; इस तथ्य के बावजूद यह ब्राउज़र द्वारा नहीं दिखाया जाएगा, पाठ वहां होना चाहिए।

क्या कोई इसे प्राप्त करने का तरीका जानता है? धन्यवाद!

+0

समस्या उन पुराने ब्राउज़र का समर्थन करने की कोशिश कर रही है, उन लोगों को एक दोस्ताना तरीके से बताएं: "आपका ब्राउज़र पुराना है, कृपया इसे इस पृष्ठ का उपयोग करने के लिए अपडेट करें। इंटरनेट एक्सप्लोरर 9" –

+0

डाउनलोड करने के लिए यहां क्लिक करें मुझे बिल्कुल यकीन नहीं है यह एक समाधान में कैसे फिट बैठता है, लेकिन क्या यह इस तरह की मदद करेगा ?: https://github.com/jspies/raphael.serialize यह कम से कम आपको कागज़ पर क्या है इसके बारे में लगातार विचार करने की अनुमति दे सकता है, और छवि को कहीं और बना सकता है । – oli

+0

यह भी देखें: http://blog.davidpadbury.com/2010/10/03/using-nodejs-to-render-js-charts-on-server/ दोनों का संयोजन इसे प्राप्त कर सकता है। – oli

उत्तर

1

प्रस्तुत करने के लिए एसवीजी आप CanVG लाइब्रेरी का भी उपयोग कर सकते हैं।
यह एसवीजी पार्सर और कैनवास परिणामस्वरूप उत्पादन के साथ प्रस्तुतकर्ता है।
अगला आप आसानी से कैनवास से पीएनजी से पिक्सेल डेटा आउटपुट कर सकते हैं।

आईई सीमाओं को हल करने के लिए आप Chrome Frame का उपयोग कर सकते हैं।

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

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