有沒有辦法採取一個highcharts圖,並得到它的base64表示?Highcharts - 導出到base64
換句話說,相當於首先將其導出爲PNG或JPG(我不關心哪個),然後獲取該圖像的base64字符串。
有沒有辦法採取一個highcharts圖,並得到它的base64表示?Highcharts - 導出到base64
換句話說,相當於首先將其導出爲PNG或JPG(我不關心哪個),然後獲取該圖像的base64字符串。
這是我如何解決這個問題:
使用google canvg 它需要一個URL到SVG文件或SVG文件的文本,解析它在JavaScript,並呈現結果的Canvas元素上。
呈現圖表SVG使用
canvg(document.getElementById('canvas'),getSVG());
畫布轉換你有什麼在畫布圖像
var canvas = document.getElementById("canvas") ;
var img = canvas.toDataURL("image/png"); //img is data:image/png;base64
img = img.replace('data:image/png;base64,', '');
渲染圖片的隱藏字段
$("hidden field").val(img) ;
將此字符串轉換爲字節a rray做
Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value)
UPDATE
得到highcharts SVG
chart.getSVG()
方法$(your svg).html()
看起來很有前途 - 您是否知道如何獲取高圖表的SVG? – 2012-07-18 13:34:21
@Adam Rackis查看更新 – 2012-07-18 13:51:23
確實 - 謝謝。我會稍微回顧一下 - 我認爲這可能會起作用。 – 2012-07-18 14:04:04
首先,請參閱關於導出文件的highcharts
文檔。這會給你你想要的圖像URL的字符串。
出口:http://www.highcharts.com/ref/#exporting
使用HTTP請求(具有AJAX,例如)來獲取文件的二進制內容(JPG/PNG),並將其轉移到一個base64編碼庫像這樣的:
Base64:http://www.webtoolkit.info/javascript-base64.html
享受和祝你好運!
這是第一步那裏,得到的二進制內容,我預計是最困難的。你有沒有關於如何從highchart中完成的信息? – 2012-07-17 20:58:38
更新的答案。 – 2012-07-17 21:03:06
太棒了 - 感謝您的更新 – 2012-07-17 21:19:39
好的問題了投票 – 2012-07-18 12:53:00