2016-07-26 14 views
0

Ich baue gerade ein System, das Grafikpunkte grafisch darstellen muss, und dann das Diagramm als Bild exportieren, das in einer E-Mail geliefert werden soll. Dieser Prozess ist eine Ergänzung zu einem bestehenden in Java geschriebenen Prozess.Bibliothek, die Graphen erstellt und als Bild exportiert

Wenn es eine Java-Lösung, die am besten wäre, aber ich habe einige Grafikbibliotheken, wie d3.js, die in JavaScript sind, und ich kann möglicherweise damit arbeiten. Von dem, was ich sagen kann, hat d3.js keine Funktion, um Graphen als PNG oder JPEG zu exportieren.

+0

Es ist möglich, D3 Diagramme als Bilder zu exportieren. Siehe [diese Frage] (http://stackoverflow.com/questions/16049538/how-to-convert-save-d3-js-graph-to-pdf-jpeg). – nicholas79171

+0

Ich weiß über JFreeChart –

Antwort

1

Im Browser können Sie eine Charting-Bibliothek verwenden, die < Leinwand macht > wie chart.js

http://www.chartjs.org

Dann, wenn Sie Ihr Diagramm auf der Leinwand gemacht haben, können Sie die Bilddaten erhalten, wie PNG oder JPG:

var canvas = document.getElementById('myCanvas'); 
var dataURL = canvas.toDataURL("image/png"); 

Dies gibt Ihnen eine base64 codiert uri des Bildes, das Sie mit einem hTML-Bild verwenden:

var imgElement = document.getElementById('myImg'); 
imgElement.src = dataURL; 

https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

Sie können von der Leinwand die Bilddaten direkt erhalten auch:

var imgData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height); 

https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getImageData