2013-10-08 59 views
0

我'與角繪製的圖表:如何highchart轉換成二進制圖像使用highchart

HTML:

<highchart id="chart" class="plotchartCntr" config="chart"></highchart> 

JS:

$scope.chart = { 
    options: { 
     chart: { 
      type: 'column' 
     } 
    }, 
    xAxis: { 
     categories: [] // dynamically loaded after search 
    }, 
    yAxis: { 
     title: { 
      text: 'Counts' 
     }, 
     labels: { 
      formatter: function() { 
       return this.value 
      } 
     } 
    }, 
    tooltip: { 
     crosshairs: true, 
     shared: true 
    }, 
    series: [] // dynamically loaded after search 
} 

我有這個保存爲一個圖像。

我的代碼(從堆棧溢出了):

var canvas = document.createElement("chart"); 
canvas.width = 200; 
canvas.height = 500; 
var ctx = canvas.getContext("2d"); 
ctx.drawImage(img, 0, 0); 
var dataURL = canvas.toDataURL("image/png"); 
console.log(dataURL); 

但我得到的錯誤canvas.getContext is not a function

請建議

+0

請把代碼上的jsfiddle/plunker –

回答

2

謝謝,我終於得到了答案:

HTML:

<img id="mock" /> 

JS:

var svg = document.getElementById('chart').children[0].innerHTML; 
//svg = chart.getSVG(); 

var base_image = new Image(); 
svg = "data:image/svg+xml," + svg; 
base_image.src = svg; 
$('#mock').attr('src', svg); 

我們也可以將圖片標籤直接保存在數據庫中。參考。 Save highchart to binary image

+1

功能 –

0
var canvas = document.createElement("chart"); 

替換爲:

var canvas = document.getElementById("chart"); 
+0

我都嘗試,但仍然得到canvas.getContext不上的jsfiddle/plunker – Prashobh

+0

請把代碼如果我想它上傳圖片在Facebook上?看來只需要png格式。 –