2012-07-13 17 views
8

मेरे पास एक एसवीजी फ़ाइल है जिसे मुझे .NET विंडोज फॉर्म एप्लिकेशन में प्रदर्शित करने की आवश्यकता है। यह common problem है। हालांकि, WebBrowser नियंत्रण काम नहीं करता है क्योंकि आईई का इंजन सही ढंग से मेरा एसवीजी प्रस्तुत नहीं करता है (विशेष रूप से यह व्हाइटस्पेस निर्देश को संरक्षित करता है)। मैंने Chrome और Firefox नियंत्रणों में देखा और उन्होंने बहुत अच्छा काम किया लेकिन वे केवल 32-बिट हैं और अन्य संदर्भों को 64-बिट मोड में संकलित करने की आवश्यकता है। निश्चित रूप से 64-बिट मोड में सही ढंग से प्रस्तुत एसवीजी प्रदर्शित करने के लिए कुछ विकल्प होना चाहिए?मैं एक 64-बिट .NET अनुप्रयोग में एक एसवीजी फ़ाइल कैसे प्रदर्शित कर सकता हूं?

+0

मैं एक एसवीजी लिखने और इसे प्रदर्शित करने के बजाय 'System.Drawing.Graphics' का उपयोग कर समाप्त हुआ। आश्चर्यजनक है कि हालांकि इसके लिए कोई समाधान नहीं लगता है। उम्मीद है कि WebBrowser नियंत्रण .NET 4.5 में थोड़ा अधिक अनुपालन है। आईई के लिए –

+0

+1 व्हाइटस्पेस निर्देश को संरक्षित करने से अनदेखा करता है। जानना अच्छा है, मुझे लगता है। –

उत्तर

0

मैंने WinForms के साथ SVG.NET (https://github.com/vvvv/SVG) को आजमाया है और यह उत्कृष्ट काम करता है।

+0

इसके लिए बहुत लंबा इंतजार कर रहा था, धन्यवाद! –

+2

मैंने उस नियंत्रण को देखा है और यह बस एसवीजी को रास्टर छवि में परिवर्तित करता है। उस दृष्टिकोण के साथ हमने एसवीजी प्रारूप के सभी लाभों को खो दिया। – cezarypiatek

2

SVG Rendering Engine आज़माएं। इसे 64-बिट मोड में काम करना चाहिए क्योंकि यह पूरी तरह से प्रबंधित कोड है।

एक और विकल्प SharpVectors है।

+0

इसमें कोई भी .NET नियंत्रण नहीं है। या क्या आपका मतलब है कि एसवीजी को एक छवि के रूप में प्रस्तुत करना और फिर इसे प्रदर्शित करना? –

+0

एक्साक्टी, मेरा मतलब है कि एसवीजी को एक छवि के रूप में प्रस्तुत करना और फिर इसे – Luxspes

+0

प्रदर्शित करना किसी कारण से मेरा टेक्स्ट एसवीजी रेंडरिंग इंजन (पहला विकल्प) का उपयोग करके पीएनजी के रूप में प्रस्तुत किए जाने पर दिखाई नहीं देता है। –

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