android vector
Convertir VectorDrawable a SVG (2)
El formato VectorDrawable es bastante similar a SVG .
Puede encontrar la documentación del formato VectorDrawable here , y la documentación del formato SVG here .
Acabo de escribir esta secuencia de comandos de Python que convierte un xml dibujable vectorial en un svg. No cubre todas las propiedades de dibujo vectorial, pero funciona con las más comunes. Solo tiene que colocar sus archivos xml en el script, y los archivos se convertirán.
He hecho las conversiones opuestas (SVG a VectorDrawable
) manualmente o usando herramientas web.
Pero estoy teniendo dificultades para hacer lo contrario. Tengo VectorDrawable
pero no estoy seguro de cómo convertirlo a SVG y puedo encontrar cero herramientas en línea para hacerlo.
¿Alguien tiene experiencia con esto y cuáles son los pasos o herramientas para hacerlo?
Pasos que sigo:
android:pathData
reemplazado con d
android:fillColor
reemplazado con fill
Una ruta en VectorDrawable sin fillColor
es fill="none"
en SVG.
android:viewportHeight="24" android:viewportWidth="24"
es viewBox="0 0 24 24"
en SVG.
Ejemplo
Vector Dibujable
<?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>