SVG -> Icon II

vorhergehende Artikel in: Java GUI
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.

Das Werkzeug zum automatischen Erzeugen von Bitmap-Icons hat bereits eine Verbesserung gegenüber anderen vergleichbaren Lösungen, indem Strichstärken, die bei zu starker Verkleinerung verlorengehen würden, automatisch erhöht werden, so daß sie in der Zielauflösung mindestens einen Pixel breit sind.

Dieses Feature kann aber nur bedingt die Qualitätseinbußen beim Rendern für kleine Auflösungen aufhalten. Beispielsweise funktioniert es nicht, wenn eine Kontur nicht über einen Strich mit festgelegter Strichstärke definiert wird, sondern über die Überlagerung zweier Konturen. Daher wurde das Werkzeug nochmals erweitert und bietet nun selektives Rendering an:

Die einzelnen Komponenten einer SVG-Graphik können eine Beschreibung beinhalten. Diese Beschreibung wird von manchen Betrachtern zum Beispiel genutzt, um Tooltips zu erstellen, wenn man mit der Maus über dem zugehörigen Graphikobjekt verweilt.

Das Werkzeug zur Erstellung vom Bitmaps aus SVG-Vorlagen benutzt diese Beschreibungen, um festzulegen, welche Komponenten gerendert werden sollen: Elemente, die keinen beschreibenden Text beinhalten, werden immer gerendert. Elemente, die einen solchen beinhalten, werden auf der jeweiligen Auflösung nur dann gerendert, wenn in der Beschreibung der Text $notxx$ nicht vorkommt (xx steht dabei für die Auflösung). Beispielsweise würde in einer Graphik ein Graphikobjekt mit der Beschreibung $not48$ auf der Auflösungsstufe 48x48 Pixel nicht in der Bitmap zu sehen sein.

Hier sind einige Beispiele dafür dargestellt: Aus dem verlinkten SVG-Graphik wurden die drei PNG-Graphiken auf den Auflösungen 24x24, 32x32 und 48x48 Pixel in einem Arbeitsgang erzeugt. Zum Vergleich ist auch die Bitmap-Graphik angegeben, die andere Werkzeuge rendern würden.

Lizenz
24x24 Pixel
32x32 Pixel
48x48 Pixel
Ohne bedingtes Rendering
Ausgangsdatei

Aktualisierung vom 8. Januar 2016

Die für den Artikel über die Icons zur graphischen Dokumentation von Serverlandschaften gezeigten Icons wurden als erste mit einer neuen Erweiterung dieser Anwendung produziert: Man kann jetzt die Embleme für Icons in der gleichen Basisdatei als Layer verwalten, der Rasterizer erkennt dies und erstellt Bitmaps für jede Variante, indem er hintereinander jeweils eins der Embleme auf sichtbar schaltet.

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


Vor 5 Jahren hier im Blog

  • Ticketsysteme sind lebende Wesen

    29.03.2020

    Hier zunächst wieder eine Triggerwarnung: Dieser Artikel wird meine Meinung abbilden. es kann sein, dass sie dem einen oder anderen nicht gefällt - das ist mir aber egal. Und wenn hier irgendwelche Schneeflocken mitlesen, dann sind die selber schuld.

    Weiterlesen...

Neueste Artikel

  • Weitere Experimente mit dem Clifford-Attractor

    Ich berichtete hier bereits über Experimente mit dem Clifford-Attractor, allerdings war ich noch Experimente unter geringfügig geänderten Parametern schuldig...

    Weiterlesen
  • Neues Feature in meinem Static Site Generator: externe URLs

    Es wurde wieder einmal Zeit für ein neues Feature in meinem Static Site Generator mittels dessen ich ja auch meine Heimatseite im Zwischennetz gestalte und verwalte...

    Weiterlesen
  • Eine Bestandsaufnahme

    Es kamen mehrere Faktoren zusammen: die Tatsache, dass ich nicht mehr ganz so kürzlich die 50 überschritten habe hatte ebenso darauf Einfluss wie das heutige trübe Wetter und auch der Fakt, dass ich bereits beinahe alle Wochenendpflichten erledigt habe. Der letzte Stein des Anstoßes war dann aber, dass sich heute zum 125. Mal der Geburtstag von Erich Fromm jährt.

    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.