Ich habe mich mal mit dem Thema "Vektorgrafik in VDR-Skins" befasst. Nachdem es mit dem Skindesigner ja nun eine äußerst praktische Lösung zum Skin-Schreiben für den VDR gibt, bietet es sich natürlich geradezu an diese Funktion dort zu platzieren, damit möglichst viele Skin-Entwickler davon profitieren können. Man spart sich mit eingebautem SVG-Support nicht nur das manuelle Umwandeln (falls man seine Icons mit Inkscape erstellt) sondern man profitiert auch davon, dass das Bild passend zur gewählten Auflösung gerendert wird. Unschärfen durch Skalieren treten somit keine mehr auf.
Wenn es um SVG im "Open-Source-Bereich" geht kommt man um Cairo in Kombination mit "librsvg" eigentlich nicht herum. Cairo selbst kann mit PNG als Rasterformat umgehen. JPEG für die Scraper-Bilder habe ich mit "libjpeg" zusätzlich nachgerüstet. Letztere ist eigentlich garkeine eigene Abhängigkeit, denn der VDR benötigt auch die libjpeg. Ich empfehle "libjpeg-turbo". Es sollte aber eigentlich jede gängige libjpeg gehen, denn spezielle Features der libjpeg-turbo nutze ich nicht.
Unterstützte Bildformate sind damit: PNG, SVG und JPG.
Die Abhängigkeit zu ImageMagick oder GraphicsMagick entfällt dabei komplett. Rastergrafik wird von Cairo skaliert, SVG wird über librsvg direkt über Cairo auf die gewünschte Zielgröße gerendert. Dabei wird auch Anti-Aliasing verwendet.
Ich pflege die angepasste Version aktuell in einem eigenen GIT-Repository. Entwickelt habe ich das ganze in Absprache (via PM) mit Louis. Ziel ist es, die Repositories, nachdem die eventuell neu reingekommen Bugs raus sind, wieder zusammenzuführen.
Bitte in diesem Thread nur Bug-Reports und Feature-Requests, die direkt mit dem Laden von Bildern (besonders SVG) zu tun haben. Ich werde nur Anpassungen und Fixes in diesem Bereich umsetzen. Alle anderen Änderungen pulle ich regelmäßig aus dem Repository von Louis.
Link zum Repository: https://github.com/M-Reimer/vdr-plugin-skindesigner/