2017-07-06 12 views
17

में कनवर्ट करें मैंने विपरीत रूपांतरण (SVG से VectorDrawable) मैन्युअल रूप से या वेब टूल्स का उपयोग किया है।VVorDrawable को SVG

लेकिन मुझे विपरीत चीज करने में कठिनाई हो रही है। मेरे पास VectorDrawable है लेकिन मुझे यकीन नहीं है कि इसे एसवीजी में कैसे परिवर्तित किया जाए और मुझे यह करने के लिए शून्य ऑनलाइन टूल मिल सकते हैं।

क्या किसी के पास इसका अनुभव है और इसे करने के लिए क्या कदम या उपकरण हैं?

+2

https://www.w3schools.com/graphics/svg_path.asp देखें, आपको केवल "पथ डी =" ... "' xml वेक्टर ड्रॉबल – pskink

+0

@pskink I से लिया गया डेटा बदलने के लिए है। ऐसा कुछ किया। मैंने सोचा कि एक बेहतर स्वचालित तरीका है। धन्यवाद वैसे भी – sandalone

+1

बस छोटे पाइथन लिपि लिखते हैं जो आपके लिए – pskink

उत्तर

21

कदम मैं का पालन करें:

android:pathDatad

android:fillColorfillColor बिना fill

VectorDrawable में एक पथ के साथ बदल के साथ बदल दिया एसवीजी में fill="none" है।

android:viewportHeight="24" android:viewportWidth="24"viewBox="0 0 24 24" एसवीजी में है।

उदाहरण

वेक्टर Drawable

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="24dp" 
    android:height="24dp" 
    android:viewportHeight="24" 
    android:viewportWidth="24"> 

    <path 
     android:fillColor="#ffffff" 
     android:pathData="M12,3L2,12h3v8h2.5v-0.8c0-1.5,3-2.2,4.5-2.2s4.5,0.8,4.5,2.2V20H19v-8h3L12,3zM12,15.2c1.2,0-2.2-1-2.2-2.2 s1-2.2,2.2-2.2s2.2,1,2.2,2.2S13.2,15.2,12,15.2z" /> 
    <path android:pathData="M0,0h24v24H0V0z" /> 
</vector> 

एसवीजी

<svg xmlns="http://www.w3.org/2000/svg" 
    width="24" 
    height="24" 
    viewBox="0 0 24 24" > 

    <path 
     fill="#ffffff" 
     d="M12,3L2,12h3v8h2.5v-0.8c0-1.5,3-2.2,4.5-2.2s4.5,0.8,4.5,2.2V20H19v8h3L12,3zM12,15.2c1.2,0-2.2-1-2.2-2.2 s1-2.2,2.2-2.2s2.2,1,2.2,2.2S13.2,15.2,12,15.2z" /> 
    <path d="M0,0h24v24H0V0z" fill="none"/> 
</svg> 
+0

यह एक बहुत मददगार था , लेकिन आपके एसवीजी में मुझे लगता है कि बंद टैग गुम है। अन्यथा इलस्ट्रेटर में मान्य, या खुला प्रतीत नहीं होता है। –

6

VectorDrawable प्रारूप सुंदर एसवीजी के समान है।

आप VectorDrawable प्रारूप here के प्रलेखन, और एसवीजी प्रारूप here के प्रलेखन पा सकते हैं।

मैंने अभी this Python script लिखा है जो एक वेक्टर ड्रॉइंग एक्सएमएल को एक एसवीजी में परिवर्तित करता है। यह सभी वेक्टर ड्रायबल स्वामित्व को कवर नहीं करता है, लेकिन यह सबसे आम लोगों के साथ काम करता है। आपको केवल अपनी एक्सएमएल फाइलों को स्क्रिप्ट पर छोड़ना है, और फाइलों को परिवर्तित कर दिया जाएगा।

+0

लिनक्स के लिए? कुछ भी नहीं छोड़ें –

+0

@ СергейГрушин मैंने विंडोज़ पर लिपि की कोशिश की लेकिन इसे लिनक्स पर भी काम करना चाहिए। आपको जांचना चाहिए कि कंसोल में कोई त्रुटि है या नहीं। शायद एक्सएमएल मॉड्यूल स्थापित नहीं है? इस मामले में आपको 'पाइप इंस्टॉल xml' – Hyperion

+0

स्क्रिप्ट केवल कमांड लाइन में काम करना चाहिए। धन्यवाद। लेकिन मैं ड्रैग और ड्रॉप चाहता हूं, इसलिए मैं 'Exec = पायथन/opt/utils/xml2svg के साथ डेस्कटॉप शॉर्टकट बना देता हूं।पाई% यू' अब मैं फ़ाइलों को खींच सकता हूं और उसे डेस्कटॉप शॉर्टकट पर छोड़ सकता हूं :) इसके अलावा मैंने 2 चीजें संपादित की: अब स्क्रिप्ट को परिवर्तित करने के बाद स्रोत xml फ़ाइलों को हटाएं, svg फ़ाइल नाम अब '.xml' प्री-एक्सटेंशन के बिना। –