2010-08-04 17 views
7

मैंने पढ़ते हुए पढ़ा कि एसवीजी "मृत" था। हालांकि मैं असहमत हूं, क्या कोई मुझे 2 डी/3 डी ग्राफिक्स का प्रतिनिधित्व करने के लिए अधिक/भविष्य वेक्टर आधारित प्रारूप बता सकता है? वीएमएल के बारे में क्या? वेब पर 2 डी और 3 डी ग्राफिक्स का प्रतिनिधित्व करने के लिए मुझे किस प्रारूप का उपयोग करना चाहिए?एसवीजी विकल्प?

मैं वेब पर ग्राफिक्स के साथ खेल रहा हूं और मैं जानना चाहता हूं कि मैं एक अप्रचलित तकनीक के साथ काम कर रहा हूं या नहीं।

+0

चूंकि वीएमएल इतना विंडोज-केंद्रित है, इसलिए मैं इससे बचूंगा, लेकिन एसवीजी के पास फ़ायरफ़ॉक्स में मूल समर्थन है, और यह मृत दिखाई नहीं देता है, लेकिन आप टैग पर अपना वेक्टर ड्राइंग कर सकते हैं, इसलिए एचटीएमएल 5 में ऐसा लगता है एसवीजी को इस टैग में लोड करने की अनुमति देने की कम मांग, जो उन्हें प्रतिस्पर्धा करने के लिए प्रकट हो सकती है। –

+0

@ जेम्स ब्लैक एचटीएमएल 5 कैनवास का उपयोग करें, इसका कारण वेक्टर-आधारित नहीं है, इसका बिटमैप है। (मुझे अन्य सुविधाओं के अलावा) और वीएमएल के अलावा, एक और बेहतर एक? – ESP

+9

मैं मौत के दावे पर '[उद्धरण वांछित]' मांगूंगा। यद्यपि स्वीकार्य रूप से एसवीजी उतना व्यापक रूप से समर्थित नहीं है जितना होना चाहिए, समर्थन अभी भी धीरे-धीरे बढ़ रहा है (यहां तक ​​कि आईई 9 में भी यह होगा, यह काफी कुछ है;))। – deceze

उत्तर

6

माइक्रोसॉफ्ट IE9 में एसवीजी समर्थन कर रहा है, और क्यों वे IE ब्लॉग पर क्या कर रहे थे की एक विस्तृत विवरण दिया:

http://blogs.msdn.com/b/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx

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

जहां तक ​​3 डी का संबंध है, भविष्य WebGL है, ओपनजीएल ईएस पर पतली शिम है, लेकिन यह बहुत दूर है। माइक्रोसॉफ्ट ने इसका समर्थन करने के लिए प्रतिबद्ध नहीं है, और इसका मतलब है कि यह आईई 9 में नहीं होगा। शायद आईई 10, शायद नहीं।

यदि आप एसवीजी का उपयोग करते हैं, तो मैं ब्राउज़र अंतरों को दूर करने के लिए svgweb का उपयोग करने की सलाह देता हूं (पुराने ब्राउज़र पर एक फ्लैश ऐपलेट पर वापस आ जाता है)।

4

यानी 9, फ़ायरफ़ॉक्स, सफारी और क्रोम समेत सभी प्रमुख ब्राउज़र आने वाले एचटीएमएल 5 मानक के हिस्से के रूप में svg का समर्थन करना शुरू कर रहे हैं। मुझे लगता है कि "मृत" कहेंगे नहीं

1

2 डी: एसवीजी 3 डी: X3DOM या WebGL सीधे

4

इस पोस्ट में नहीं बल्कि देर हो चुकी है ... लेकिन मुझे लगता है कि इसके लायक है फिर से संबोधित कर रहे हैं, क्योंकि आपके प्रश्न पॉपअप है सभी एचटीएमएल 5 बात के साथ फिर से।

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

अधिकांश अन्य वेक्टर "प्रारूप" में प्लगइन्स (फ़्लैश) या हार्डवेयर समर्थन (वेबजीएल) शामिल है। विडंबना यह है कि आपके द्वारा उल्लिखित वीएमएल प्रारूप अब एसवीजी के पक्ष में बहिष्कृत है।

अपने प्रश्न का उत्तर देने के लिए: एसवीजी अब वेब के लिए मानक वेक्टर प्रारूप है। उम्मीद है कि, निकट भविष्य में, हम इसे वीडियो/एनीमेशन के लिए भी इस्तेमाल करेंगे।

5

आप Raphaël जावास्क्रिप्ट लाइब्रेरी को आजमा सकते हैं।

यह लागू करना आसान है और एसवीजी (और अधिक!) के समान UI सुविधाएं प्रदान करता है।

+0

वह लिंक टूटा हुआ है। एक [www.raphaeljs.com] (http://www.raphaeljs.com/) है जो [GitHub.io] पर पुनर्निर्देशित करता है (http://dmitrybaranovskiy.github.io/raphael/) अंतिम प्रतिबद्धता फरवरी 2017 थी , जो हाल ही में है, ऐसा लगता है कि यह अभी भी सक्रिय रूप से विकसित है। इसके अलावा, बहुत दिलचस्प लग रहा है! – harperville

5

यदि यह एसवीजी है तो आप svg.js पर जाने का सबसे अच्छा तरीका है। यह एसवीजी को बेहतर तरीके से समर्थन देता है और यह राफेल (31k gzipped) के आकार (4.5k gzipped) का एक अंश है। यह भी एक बहुत सहज ज्ञान युक्त वाक्यविन्यास है।