Javascript - konvertieren von HTML-div-mit SVG zu image

Ich nutze Highcharts und ein Diagramm zeichnen.

Möchte ich hinzufügen, dass "export to PNG" - option, die beide enthält Highcharts-Graphen und äußeren div. Bei der Verwendung von Highcharts-export, ich bin nicht in der Lage zur Beurteilung der äußeren div mit dem Diagramm.

Sah ich einige Beispiele hier mit html2canvas. Als ich versuchte, es zu verwenden, die Highcharts' SVG-element wansn nicht in die Ausgabe aufgenommen Bild.

Kennt jemand eine Lösung, besser als zu versuchen, zu verschmelzen SVG-Bild im äußeren HTML-div-Bild?

Update -

Mit der neuesten version von html2canvas fest, dass Thema, aber die Ausgabe ist etwas anders:

Original:
Javascript - konvertieren von HTML-div-mit SVG zu image

html2canvas Ausgabe:

Javascript - konvertieren von HTML-div-mit SVG zu image

Wie Sie sehen können einige Elemente gerendert werden, die zweimal in verschiedenen Orten.

Jemand weiß wie es zu lösen?

  • Würde das funktionieren? jsfiddle.net/8ypxW/3
  • Ich schrieb dieser eine andere Frage über svg nach bitmap (noch zu warten, für Sie zu öffnen), vielleicht könnten Sie es verwenden, bevor Sie html2canvas, es denke deckt es mehr Sonderfälle als html2canvas svgToPng Methode
  • Das Ergebnis ist das gleiche - keine SVG-Objekten.
  • In deinem Beispiel gibt es nicht div außerhalb SVG-element.
  • Nein, hier ist der link für die Frage, die mir beim schreiben dieses stackoverflow.com/questions/33506122/export-svg-as-bitmap ich vermute, dass es sowas gibt oder einen anderen edge-Fall, die macht Ihre svg unmöglich zu transformieren als bitmap. Aber es doesn ' T decken den html-Code bitmap an alle. Wenn es nicht funktioniert, und selbst wenn es funktioniert, wäre ich sehr daran interessiert, dass die ausgegeben wird svg-code, den Sie haben.
  • Ich habe die aktualisierte html2canvas version (alpha1) und jetzt ist es fast funktioniert, aber das Bild ist nicht genau wie die html.
  • proof-of-concept : jsfiddle.net/eqjmu644/1
  • Thanx @Kaiido. Ich denke das Thema ist nun einige css-Stile, die werden noch nicht unterstützt.
  • deshalb brauchen wir Ihre markup. Aber ich muss zugeben, dass ich vergaß externe CSS, also danke, ich werde in der Lage sein, um Sie zu verbessern mehr.
  • Für die Konvertierung von svg-Bildern, kann ich empfehlen canvg.
  • canvg schlägt mit einigen speziellen features wie Filter jsfiddle.net/L3hondLn/248 sogar taints die Leinwand, während Sie nicht benötigt werden... Und es stürzt ab mit "im Dokument" stylesheets jsfiddle.net/L3hondLn/250
  • canvg kann nur konvertieren Sie svg-element. Es kann nicht konvertieren, div, svg.

Schreibe einen Kommentar