Christian Kruse: Dynamische HTML Seite entwerfen --> Geht das überhaupt?

Beitrag lesen

Hallo Gunnar,

  1. Pixelgrafik, skaliert nicht.

Irrelevant, man zeichnet ja selber. Und die Canvas selber kann durchaus skalieren.

  1. 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