Konvertierung von SVG zu PNG

Ich war gerade in der Verlegenheit, dass die Icon-Grafiken in der DashClock Tasker Extension nicht die besten Maße hatten. Folgende Punkte haben nicht gepasst: Die Grafiken waren zu klein, sie hatten Transparenz und zu viel Padding.

Ich hatte die Icons bisher aus dem Action Bar Icon Pack von Google genommen, welches mittlerweile zwar größere Icons enthält – leider aber nur mit Transparenz. Ich hab versucht diese zu entfernen, was aber nur zu einem unscharfen Ergebnis geführt hat. Nach einiger Suche habe ich dann im Android Asset Studio die Grafiken SVG-Vektor-Format gefunden, welche es nun noch zu konvertieren galt.

Um sie schnell in das gewünschte Weiß zu bekommen, habe ich einfach mit meinem Texteditor #333333 durch #FFFFFF ersetzen lassen.

Zum Konvertieren von SVN nach PNG habe ich Inkskape unter Windows verwendet, welches sich gut über die Kommandozeile steuern lässt:

Mit den Parametern w und h, gibt man Breite und Höhe in Pixeln an, hier habe ich einfach etwas großes (1024px) genommen, um es danach mittels Imagemagick wieder runter zu skalieren. Mit dem Parameter y steuert man die Transparenz des Hintergrundes. Null bedeutet hierbei vollständige Transparenz.

Nachdem die Grafiken nun als PNG vorliegen kann ich sie einfach mittels Imagemagick (diesmal unter Linux) weiterverarbeiten:

So sieht das Bild aus nachdem es von SVG nach PNG konvertiert wurde. Die Transparenz stelle ich hier rot dar und statt weiß verwende ich grün:

Großes PNG

Hier wird zuerst sämtlicher Raum um das Icon entfernt (-trim),

Nach dem Zuschneiden

danach wird ein transparenter (-bordercolor none) Rahmen hinzugefügt, welcher als Padding dient. Nun wird die das Bild unter Beibehaltung des Seitenverhältnisses verkleinert (-resize 96×96) und dann wird es mit transparentem Hintergrund wieder Quadratisch gemacht.

Wieder in Form gebracht

Fertig sind die maximal großen quadratischen Icons: Android Action Bar Icons