创建图形并导出为图像的库

时间:2016-07-26 18:20:25

标签: javascript java d3.js export graphing

我目前正在构建一个需要绘制图形点的系统,然后将图形导出为要在电子邮件中提供的图像。此过程是对用Java编写的现有过程的补充。

如果有一个最好的Java解决方案,但我已经看到了一些用JavaScript编写的图形库,比如d3.js,我也许可以使用它。据我所知,d3.js没有将图形导出为PNG或JPEG的功能。

1 个答案:

答案 0 :(得分:1)

在浏览器中,您可以使用呈现为< canvas>的图表库。例如chart.js

http://www.chartjs.org

然后,一旦在画布上渲染了图表,就可以获得PNG或JPG图像数据:

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

这将为您提供可以与html图像一起使用的图像的base64编码uri:

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

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

您也可以直接从画布中获取图像数据:

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

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