2016-08-11 3 views
8

Ich habe einige Icons im SVG-Format auf Android, und wollen, dass sie png Drawables auf Android konvertieren, in folgenden Größen: drawable-mdpi, drawable-hdpi, drawable-xhdpi, drawable-xxhdpi und drawable-xxxhdpi.konvertieren SVG-Vektor Multi-Density png Drawables

Was ist der einfachste Weg, um ein SVG zu zeichnen png zu konvertieren?

+0

Sie müssen SVG nicht in PNG konvertieren. Sie können sie direkt in Android verwenden. Mit der neuesten Support-Bibliothek funktioniert das sogar mit alten Android-Versionen. Siehe http://android-developers.blogspot.ch/2016/02/android-support-library-232.html. – Codo

+0

@Codo Ich habe gehört, dass SVGs nur ab API Level 20 funktionieren, ich hatte gehofft API Level 19 als Minimum zu verwenden. Wenn Sie "alte Android-Versionen" sagen, wie alt ist alt? –

+0

Der verlinkte Blogpost sagt es: API-Ebene 7. Wenn Sie AnimatedVectorDrawable benötigen, ist es API-Ebene 11. – Codo

Antwort

7

Frage könnte ein bisschen veraltet sein, aber ich suchte im Internet und fand keine gute Lösung. Also habe ich ein einfaches Bash-Skript geschrieben, das sowohl SVG- als auch Rasterbildformate konvertiert.

Hier ist sie: https://gist.github.com/tntclaus/18f4fe7e8540f1cb283d2c7d8ad21d69

Verbrauch:

./generateAndroidDrawables.sh <image.file> <dp>

Es erfordert mindestens ImageMagick, die auf OS X kann über brew oder macports installiert werden. Leider konvertiert ImageMagic schlecht SVG, also habe ich Unterstützung von Inkscape hinzugefügt. Wenn Inkscape nicht installiert ist, greift das Skript auf die ImageMagic-Konvertierung zurück.