Hallo,
ich habe mal in einer ruhigen Minute experimentiert mit den von mfd bereitgestellt SVG-Varianten des KNX-UF-Iconsets, weil ich es nicht kapiert habe, wieso das Einfärben von Icons so schwierig ist. Das Resultat habe ich angehängt.
Aktuell werden die Icons auf eine 128x128-PNG-Version verkleinert und in der Visu in ein <canvas>-Element gemalt und bei Bedarf umgefärbt.
Das führt zumindest bei meinen Browsern (Firefox, Chrome auf Android) dazu, dass die Icons eine absolut bescheidene Qualität haben. Das war für mich Stein des Anstoßes und ich habe mich deshalb mit der SVG-Version beschäftigt.
In den angefügten Testdateien wir das SVG-Icon selbst verwendet und dynamisch bei Klick auf "Weiß" oder "Grün" umgefärbt mit simplen CSS-Mitteln. Der Trick dabei ist, dass man das SVG nach dem Laden der Seite per Inline direkt ins HTML schreibt. Anschließend kann man darauf genauso zugreifen, wie auf alle anderen HTML-Elemente und per CSS Änderungen herbeiführen. Alle anderen Versuch ohne Inlinen des SVG haben nicht gefruchtet.
Also, grundsätzlich funktioniert es nun relativ leicht. Die Frage ist, ob man versuchen sollte, diesen Mechanismus in die Visu einzubauen. Dazu würde ich gerne eure Meinungen in Erfahrung bringen.
ich habe mal in einer ruhigen Minute experimentiert mit den von mfd bereitgestellt SVG-Varianten des KNX-UF-Iconsets, weil ich es nicht kapiert habe, wieso das Einfärben von Icons so schwierig ist. Das Resultat habe ich angehängt.
Aktuell werden die Icons auf eine 128x128-PNG-Version verkleinert und in der Visu in ein <canvas>-Element gemalt und bei Bedarf umgefärbt.
Das führt zumindest bei meinen Browsern (Firefox, Chrome auf Android) dazu, dass die Icons eine absolut bescheidene Qualität haben. Das war für mich Stein des Anstoßes und ich habe mich deshalb mit der SVG-Version beschäftigt.
In den angefügten Testdateien wir das SVG-Icon selbst verwendet und dynamisch bei Klick auf "Weiß" oder "Grün" umgefärbt mit simplen CSS-Mitteln. Der Trick dabei ist, dass man das SVG nach dem Laden der Seite per Inline direkt ins HTML schreibt. Anschließend kann man darauf genauso zugreifen, wie auf alle anderen HTML-Elemente und per CSS Änderungen herbeiführen. Alle anderen Versuch ohne Inlinen des SVG haben nicht gefruchtet.
Also, grundsätzlich funktioniert es nun relativ leicht. Die Frage ist, ob man versuchen sollte, diesen Mechanismus in die Visu einzubauen. Dazu würde ich gerne eure Meinungen in Erfahrung bringen.
Kommentar