http://html2canvas.hertzen.com/documentation.htmlで議論されたhtml2canvasを使用して、htmlコンテンツを画像に変換したいと考えています。しかし、私はHighChartsのイメージを正しく取得していません。 IE10では空白の画像をレンダリングし、Chromeではその一部をレンダリングします。この目的のためにhtml2canvasを使用することは可能ですか?HighChartsでのhtml2Canvasの使用
5
A
答えて
11
ハイチャートはsvgを使用してグラフを描画します。このsvgを一時キャンバスに描画するにはcanvgライブラリを使用し、html2canvasを使用してスクリーンショットを撮るとキャンバスを削除する必要があります。 https://code.google.com/p/canvg/downloads/list
これを試してみてください:
//find all svg elements in $container
//$container is the jQuery object of the div that you need to convert to image. This div may contain highcharts along with other child divs, etc
var svgElements= $container.find('svg');
//replace all svgs with a temp canvas
svgElements.each(function() {
var canvas, xml;
canvas = document.createElement("canvas");
canvas.className = "screenShotTempCanvas";
//convert SVG into a XML string
xml = (new XMLSerializer()).serializeToString(this);
// Removing the name space as IE throws an error
xml = xml.replace(/xmlns=\"http:\/\/www\.w3\.org\/2000\/svg\"/, '');
//draw the SVG onto a canvas
canvg(canvas, xml);
$(canvas).insertAfter(this);
//hide the SVG element
this.className = "tempHide";
$(this).hide();
});
//...
//HERE GOES YOUR CODE FOR HTML2CANVAS SCREENSHOT
//...
//After your image is generated revert the temporary changes
$container.find('.screenShotTempCanvas').remove();
$container.find('.tempHide').show().removeClass('tempHide');
+0
これは私にとってはうまくいかなかったが、空のキャンバスを返す –
+0
@NaguibIhab何が間違っているのかわからない。スクリーンショットを撮る前に$コンテナがDOMに追加されているかどうか確認できますか?問題であるかもしれません。 – shinobi
関連する問題
- 1. 空白CodeIgniterのを使用してhighchartsで件のデータとhighcharts
- 2. ではHtml2Canvasに、ページは、私は次のコードを使用して、html2canvasライブラリを使用していますトップ
- 3. html2canvasプロキシの使い方
- 4. Highcharts - HighChartsナビゲータ用の特定のカラーゾーン
- 5. Textarea Html2Canvasを使用したスクリーンショット
- 6. html2canvas
- 7. jsPDFでhtml2canvasを使用してページのPDFを保存する
- 8. html2canvasのSVGサポート
- 9. HighChartsでCSSクラスを使用する
- 10. princeXMLでhighchartsを使用するには?
- 11. Highchartsドリルダウンは、私がhighchartsを使用してい
- 12. html2canvas - IndexSizeError
- 13. nodejsを使用したhtml2canvasと同様のソリューション
- 14. HighChartsとDotNet.HighChartsを使用すると、シリーズ
- 15. Zeppelin 0.7.2 org.apache.thrift.transport.TransportException(SparkとHighChartsを使用)
- 16. Angular4 Highchartsタイプrequireエラーを使用する
- 17. Highchartsで使用されたティックのみを表示する
- 18. TypeScriptとHtml2Canvas?
- 19. Html2Canvasアルファ5
- 20. html2canvas border image
- 21. pdfmakeとhtml2canvasを使用してFirefoxでPDFを開くときの問題
- 22. html2canvas + FileSaverブラウザの問題
- 23. html2canvas - iOSデバイスでクラッシュする
- 24. html2canvas - onrenderedここでは、すべての
- 25. html2canvasを使った画面キャプチャ
- 26. highchartsを使ったAngular4はworld.jsを使用できません
- 27. Html2CanvasとJsPDFを使用してフルページを印刷するには
- 28. html2canvasを使用してdivを保存する方法
- 29. html2canvasを使用してスクリーンショットをアップロードするには?
- 30. angular2-highchartsインポートモジュールhighcharts-more
Highchartsチャートを描画するためにSVGを使用しています。ここ
はcanvgためのリンクがあります。 このsvgを一時キャンバスに描画するにはcanvgライブラリを使用し、html2canvasを使用してスクリーンショットを撮るとキャンバスを削除する必要があります。 – shinobi