Hallo Gunnar,
- Pixelgrafik, skaliert nicht.
Irrelevant, man zeichnet ja selber. Und die Canvas selber kann durchaus skalieren.
- Beim Umfärben (was bei SVG lediglich eine Änderung eines Attributwerts/einer CSS-Eigenschaft für ein Element wäre) muss im Canvas alles neu gezeichnet werden.
Das ist prinzipiell richtig, aber dafür ist die Canvas Hardware-beschleunigt (und frisst damit viel weniger Akku) und um Klassen weniger Komplex als SVG.
Nein, Canvas wäre hier eine Vernünftige Wahl. Die Abwägung muss stattfinden zwischen den Vor- und Nachteilen:
SVG
- Pro
- Skalierung ist von Haus aus eingebaut
- kann mit CSS gestyled werden
- Kontra
- hohe Komplexität
- Browserunterstützung ist je nach verwendetem Feature immer noch problematisch
- Je nach Verwendung ist es langsam
Canvas
- Pro
- Rattenschnell
- geringe Komplexität
- Kontra
- man muss viel selber implementieren
Gerade der Punkt kann btw eine Menge Arbeit bereiten. Ich habe das mal gemacht für technische Zeichnungen (SVG war hier keine Alternative, aufgrund der Browser-Voraussetzungen), das kann viel Zeit fressen. fabric.js hilft dabei.
LG,
CK