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

  • Synchronisierung von Lorenz-Systemen III

    23.10.2020

    Nachdem ich in einem vorhergehenden Artikel auf das Problem des kleinen Parameterraums im Zusammenhang mit der Nutzung synchronisierter chaotischer Systeme hingewiesen hatte will ixch hier untersuchen, wie sensibel solche Systeme auf Abweichungen der Parameterwerte zwischen treibendem und getriebenen System reagieren

    Weiterlesen

Neueste Artikel

  • Plugin zur Arbeit mit Markdown für NeoVim

    Ich habe neulich beschrieben, dass ich aktuell mehr und mehr bemerke, dass Dinge, für die ich in meinem NeoVim-Setup Plugins benutzt habe sehr gut auch mit Bordmitteln funktionieren.

    Weiterlesen
  • Raspbian Upgrade von 11 (Bullseye) nach 12 (Bookworm)

    Ich habe neulich wieder einmal eine Upgrade- und Backup-Sitzung mit meinen diversen Linuxinstallationen veranstaltet. Der Zeitpunkt schien mir gekommen, da es eine neue stable Variante von Debian (Trixie) gibt.

    Weiterlesen
  • Meine praktischen Erfahrungen mit ollama (llava)

    Ich diskutiere immer wieder gern über das was heute Machine Intelligence oder Artificial Intelligence ( oder wie die ganzen anderen hohlen Phrasen heißen, die dafür heutzutage als Buzzwords missbraucht werden). Das geschieht online, in meinem $dayjob oder auch privat. Meine Meinung steht fest: das ist alles Quatsch und steht in keiner Relation zum Nutzen

    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.