2016-08-11 20 views
8

Mam kilka ikon w formacie SVG, a chcesz przekonwertować je do kanału alfa Androidem png, w następujących rozmiarach: drawable-mdpi, drawable-hdpi, drawable-xhdpi, drawable-xxhdpi i drawable-xxxhdpi.SVG Konwersja wektor do Android kanału alfa wielu natężeniach png

Jaki jest najłatwiejszy sposób przekonwertowania pliku SVG na ciągnące pngs?

+0

Nie trzeba konwertować SVG na PNG. Możesz bezpośrednio z nich korzystać w systemie Android. Dzięki najnowszej bibliotece pomocy będzie działać nawet ze starszymi wersjami Androida. Zobacz http://android-developers.blogspot.ch/2016/02/android-support-library-232.html. – Codo

+0

@Codo Słyszałem, że SVG działają tylko od poziomu API 20, miałem nadzieję, że użyję poziomu interfejsu API 19 jako minimum. Kiedy mówisz "stare wersje Androida", ile ma lat? –

+0

Połączony post na blogu mówi: poziom API 7. Jeśli potrzebujesz AnimatedVectorDrawable, jest to poziom interfejsu API 11. – Codo

Odpowiedz

7

Pytanie może być nieco przestarzałe, ale przeszukałem Internet i nie znalazłem żadnego dobrego rozwiązania. Napisałem więc prosty skrypt bash, który dokonuje konwersji SVG oraz formatów obrazów rastrowych.

Oto ona: https://gist.github.com/tntclaus/18f4fe7e8540f1cb283d2c7d8ad21d69

Zastosowanie:

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

Wymaga przynajmniej ImageMagick, który na OS X mogą być zainstalowane przez brew lub macports. Niestety ImageMagic słabo konwertuje SVG, więc dodałem obsługę Inkscape. Jeśli Inkscape nie jest zainstalowany, skrypt powraca do konwersji ImageMagic.

Powiązane problemy