SVG -> Icon

vorhergehende Artikel in: GUI
30.04.2013

Von Hand Icons aus SVG-Graphiken zu erzeugen mag machbar sein, wenn man eine Graphik hat und diese in eine festgelegte Auflösung exportieren möchte. Hat man jedoch mehrere Graphiken und als Ziel verschiedene Auflösungsstufen, wünscht man sich schnell einen Automatismus.

Dieses Ziel kann man natürlich mit Software erreichen, die man zu Hauf im Web findet. Aber ich hatte noch eine weitere Randbedingung, die über das bloße Konvertieren von SVG nach Bitmap hinausging: Beim Rendern in verschiedenen Auflösungsstufen gehen unter Umständen Details verloren: Ist eine Graphik für eine Auflösung von 48x48 Pixeln vorgesehen und enthält sie Linien, die nur einen Pixel breit sind, werden diese Linien beim Erzeugen einer Bitmapgraphik verschwinden, die nur 32x32 Pixel groß ist.

Daher habe ich unter Zuhilfenahme von Batik einen Konverter geschrieben, der das Ausgangsdokument untersucht und zu dünne Linien entsprechend "verdickt", daß sie im Resultat mindestens 1 Pixel breit sind - dadurch gehen feine Details auch auf niedrigeren Auflösungsstufen nicht verloren!

Beispiel

Hier ein Beispiel dafür: aus untenstehendem SVG-Dokument wurden Bitmaps verschiedener Auflösungen produziert...
DB_export_archive.svg

Screenshots

24x24 Pixel
32x32 Pixel
48x48 Pixel
1:1 aus SVG
128x128 Pixel

Artikel, die hierher verlinken

SVG -> Icon II

08.01.2016

Ich habe das Werkzeug zum automatischen Erzeugen von Bitmap-Icons in verschiedenen Größen aus einem SVG-Master weiter verfeinert: es ist nun möglich, Teile der Graphik beim Erstellen der Bitmaps auszublenden.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Keycloak, OTP, FIDO

    11.06.2021

    Ich berichtete neulich über die Installation und erste Tests von Keycloak. Nun bin ich tiefer eingetaucht und habe die diversen Möglichkeiten untersucht, die Authentifizierung mittels zweiten Faktors sicherer zu machen.

    Weiterlesen

Neueste Artikel

  • Performanceverbesserungen in dWb+ 4.4pre2 build 11264

    In meinem letzten Artikel zum Thema dWb+ beschrieb ich ein neues Feature der Lösung - nunmehr wende ich mich einer wichtigen nichtfunktionalen Anforderung zu

    Weiterlesen
  • Flat Notes und Navidrome neu im Docker-Zoo

    Ein weiteres Self-Hosting-Experiment hat zu zwei neuen Diensten in meinem Docker-Zoo geführt...

    Weiterlesen
  • TPM per PKCS#11 in Java-Anwendungen nutzen

    Nach meinen Erfolgen mit einem TPM in der Version 1.2 zur Absicherung von SSH-Verbindungen wollte ich versuchen, seine Funktionalität in Java-Anwendungen zu integrieren...

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.