J'ai effectué les conversions opposées (SVG en VectorDrawable
) manuellement ou à l'aide d'outils Web.
Mais j'ai du mal à faire le contraire. J'ai VectorDrawable
mais je ne sais pas comment le convertir en SVG et je ne trouve aucun outil en ligne pour le faire.
Est-ce que quelqu'un a de l'expérience avec cela et quelles sont les étapes ou les outils pour le faire?
Les étapes que je suis:
Android:pathData
remplacé par d
Android:fillColor
remplacé par fill
Un chemin dans VectorDrawable sans fillColor
est fill="none"
en SVG.
Android:viewportHeight="24" Android:viewportWidth="24"
est viewBox="0 0 24 24"
en SVG.
Exemple
Vecteur 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
<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>
Le format VectorDrawable est assez similaire à [~ # ~] svg [~ # ~] .
Vous pouvez trouver la documentation du format VectorDrawable ici , et la documentation du [~ # ~] svg [~ # ~] format ici .
Je viens d'écrire this Python qui convertit un vecteur xml dessinable, en un svg. Il ne couvre pas toutes les propriétés dessinables du vecteur, mais il fonctionne avec la plupart Il suffit de déposer vos fichiers XML sur le script et les fichiers seront convertis.