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.






GeoJSON in EBMap4D
31.07.2021
Ich habe die Anwendung EBMap4D einer Generalüberholung unterzogen und neue Features hinzugefügt...
WeiterlesenAI und ML Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich halte mich von den Themen Artificial Intelligence und Machine Learning (Large Language Models) ja fern so gut es geht - vor allem, weil ich das mal studiert habe. Manchmal überkommt mich aber die Neugierde - das Resultat war bisher immer schlechte Laune.
WeiterlesenWie bereits in einem früheren Artikel beschrieben habe verfügt die sQLshell über eine Integration zur Erfassung von Daten aus Dokumentendirekt per Optical Character Recognition. Ich habe diese Integration weiter verfeinert und möchte hier einen exemplarischen Workflow für diese Möglichkeit zeigen
WeiterlesenDiese Seite wird mit allen derzeit in meinem Self-Hosting Homelab betriebenen Services auf Docker-Basis befüllt (Eigenentwicklungen werden nicht genannt, sofern sie keine öffentlich verfügbaren Open-Source-Lösungen darstellen).
WeiterlesenManche 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.