html2canvas vs html-to-image vs dom-to-image
"DOM zu Bild Konvertierung" npm-Pakete Vergleich
3 Jahre
html2canvashtml-to-imagedom-to-imageÄhnliche Pakete:
Was ist DOM zu Bild Konvertierung?

Bibliotheken zur Konvertierung von DOM-Elementen in Bilder oder Grafiken sind nützlich für Webanwendungen, die Screenshots von bestimmten Teilen einer Webseite erstellen, Inhalte für den Download generieren oder visuelle Daten für die Verarbeitung erfassen möchten. Diese Bibliotheken wandeln HTML-Inhalte, CSS-Stile und sogar SVG-Grafiken in Bildformate wie PNG oder JPEG um, wodurch sie vielseitige Werkzeuge für Entwickler sind. dom-to-image ist eine Bibliothek, die DOM-Elemente in Bilder umwandelt, indem sie deren HTML und CSS rendert. Sie unterstützt die Erstellung von PNG- und JPEG-Bildern und bietet Optionen zur Anpassung der Hintergrundfarbe, zur Handhabung von SVGs und zur Anwendung von Filtereffekten. html-to-image ist eine moderne Alternative, die eine einfache API zum Konvertieren von HTML-Inhalten in Bilder bietet. Sie unterstützt die Erstellung von PNG- und JPEG-Bildern, hat eine bessere Handhabung von SVGs und bietet eine einfachere Implementierung mit weniger Konfigurationsaufwand. html2canvas hingegen rendert das DOM und erstellt ein Bild des sichtbaren Bereichs einer Webseite, einschließlich Text, Bildern und CSS-Stilen. Es ist besonders nützlich für Screenshots, unterstützt jedoch keine direkte Konvertierung von SVGs oder die Anpassung von Hintergrundfarben.

npm-Download-Trend
GitHub Stars Ranking
Statistik-Detail
Paket
Downloads
Stars
Größe
Issues
Veröffentlichung
Lizenz
html2canvas4,147,591
31,5263.38 MB1,041-MIT
html-to-image1,004,628
6,665315 kB183vor 7 MonatenMIT
dom-to-image234,315
10,692-333vor 8 JahrenMIT
Funktionsvergleich: html2canvas vs html-to-image vs dom-to-image

SVG-Unterstützung

  • html2canvas:

    html2canvas kann SVGs rendern, behandelt sie jedoch als Rasterbilder, wenn sie im DOM dargestellt werden. Dies kann zu einem Verlust der Vektorgrafikqualität führen, insbesondere bei Skalierung oder Zoom.

  • html-to-image:

    html-to-image hat eine verbesserte SVG-Unterstützung im Vergleich zu vielen anderen Bibliotheken. Es rendert SVGs genau und behandelt sie besser, was es zu einer zuverlässigen Wahl für Projekte macht, die SVG-Grafiken integrieren.

  • dom-to-image:

    dom-to-image bietet eine gute Unterstützung für SVGs, einschließlich der Möglichkeit, SVG-Grafiken innerhalb von DOM-Elementen zu rendern und in Bilder umzuwandeln. Es kann jedoch einige Einschränkungen bei der Handhabung von komplexen SVGs oder externen SVG-Dateien geben.

Hintergrundfarbe anpassen

  • html2canvas:

    html2canvas rendert den Hintergrund des DOM-Elements mit seiner ursprünglichen Farbe. Es gibt jedoch keine integrierte Funktion zur Anpassung der Hintergrundfarbe während des Renderings.

  • html-to-image:

    html-to-image unterstützt die Anpassung der Hintergrundfarbe, bietet jedoch eine einfachere Implementierung ohne umfangreiche Konfiguration. Es ist benutzerfreundlich und ermöglicht schnelle Anpassungen.

  • dom-to-image:

    dom-to-image ermöglicht die Anpassung der Hintergrundfarbe des gerenderten Bildes, was besonders nützlich ist, wenn das DOM-Element einen transparenten Hintergrund hat und Sie eine bestimmte Farbe festlegen möchten.

Bildformat und -qualität

  • html2canvas:

    html2canvas erstellt Bilder im PNG-Format. Es bietet keine Optionen zur Anpassung der Bildqualität oder zum Wechseln zwischen verschiedenen Formaten, was es weniger flexibel macht.

  • html-to-image:

    html-to-image unterstützt ebenfalls PNG- und JPEG-Ausgaben, bietet jedoch weniger Kontrolle über die Bildqualität. Es ist jedoch schnell und effizient bei der Erstellung von Bildern mit akzeptabler Qualität.

  • dom-to-image:

    dom-to-image unterstützt die Ausgabe von Bildern in verschiedenen Formaten, einschließlich PNG und JPEG. Sie können die Bildqualität für JPEGs anpassen, was Ihnen mehr Kontrolle über die Dateigröße und die visuelle Qualität gibt.

Einfache Implementierung

  • html2canvas:

    html2canvas ist relativ einfach zu implementieren, insbesondere wenn Sie Screenshots des sichtbaren Bereichs erstellen möchten. Es erfordert jedoch möglicherweise zusätzliche Anpassungen, um bestimmte Stile oder Elemente genau zu rendern.

  • html-to-image:

    html-to-image zeichnet sich durch seine einfache und intuitive API aus, die eine schnelle Implementierung ermöglicht. Es ist besonders benutzerfreundlich für Entwickler, die eine schnelle Lösung ohne viel Aufwand suchen.

  • dom-to-image:

    dom-to-image erfordert einige Konfigurationen, insbesondere wenn Sie erweiterte Funktionen wie SVG-Unterstützung oder benutzerdefinierte Hintergrundfarben nutzen möchten. Die API ist jedoch gut dokumentiert und leicht verständlich.

Codebeispiel

  • html2canvas:

    html2canvas Beispiel

    import html2canvas from 'html2canvas';
    const element = document.getElementById('my-element');
    html2canvas(element)
      .then((canvas) => {
        document.body.appendChild(canvas);
      })
      .catch((error) => {
        console.error('Fehler beim Erstellen des Screenshots:', error);
      });
    
  • html-to-image:

    html-to-image Beispiel

    import { toPng } from 'html-to-image';
    const node = document.getElementById('my-node');
    toPng(node)
      .then((dataUrl) => {
        const img = new Image();
        img.src = dataUrl;
        document.body.appendChild(img);
      })
      .catch((error) => {
        console.error('Fehler beim Konvertieren des DOM-Elements:', error);
      });
    
  • dom-to-image:

    dom-to-image Beispiel

    import { toPng } from 'dom-to-image';
    const node = document.getElementById('my-node');
    toPng(node)
      .then((dataUrl) => {
        const img = new Image();
        img.src = dataUrl;
        document.body.appendChild(img);
      })
      .catch((error) => {
        console.error('Fehler beim Konvertieren des DOM-Elements:', error);
      });
    
Wie man wählt: html2canvas vs html-to-image vs dom-to-image
  • html2canvas:

    Wählen Sie html2canvas, wenn Sie Screenshots des sichtbaren Bereichs einer Webseite erstellen möchten, einschließlich aller CSS-Stile. Es ist besonders nützlich für Anwendungen, die eine schnelle und einfache Möglichkeit benötigen, Bilder von DOM-Elementen zu erfassen, ohne sich um die SVG-Verarbeitung zu kümmern.

  • html-to-image:

    Wählen Sie html-to-image, wenn Sie eine einfache und benutzerfreundliche API mit guter SVG-Unterstützung und minimaler Konfiguration wünschen. Es ist eine gute Wahl für Projekte, die eine schnelle Implementierung ohne viel Aufwand erfordern.

  • dom-to-image:

    Wählen Sie dom-to-image, wenn Sie eine umfassende Kontrolle über die Bildkonvertierung benötigen, einschließlich der Möglichkeit, SVGs zu handhaben, benutzerdefinierte Hintergrundfarben festzulegen und CSS-Filter anzuwenden. Es ist ideal für Anwendungen, die detaillierte Anpassungen erfordern.