我正在尝试做的事情
使用with打开.php
页面exec
exec('./wkhtmltoimage-i386 abcdef.com/combined.php chart.jpg', $op, $er);
这样我就得到了渲染图表的图像。
实际发生了什么
在运行包含上述命令的chart.jpg
页面时根本没有创建。
调试
(1) 我直接combined.php
在浏览器中执行,图表按预期显示。combined.php
所以代码没有错。
(2) 我也试着把
<h1>Hello there!</h1>
在里面combined.php
,这导致chart.jpg
被创建并输出显示为图像。
所以这让我相信wkhtmltoimage
需要等到图表被渲染然后执行转换操作。问题是我不知道如何让转换过程等到一切都完成。
用于准备图表的 Javascript 代码
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);
var options = {
title: 'TNS',titleTextStyle: {color: "green"}, hAxis: {title: "MONTH", titleTextStyle: {color: "green"}}, vAxis: {title: "Percentage", titleTextStyle: {color: "green"},viewWindowMode: 'explicit',
},
max: 100,
min: 0,
legend: {
position: 'bottom'
},
width:1000,
height:550,
pointSize: 8,
backgroundColor:'#ddd9c3',
is3D: 'true',
height:550,
vAxis: {
gridlineColor: '#9d9983'
},
colors: ['black', 'red', 'green', 'blue', 'yellow']
};
var chart = new google.visualization.LineChart(document.getElementById('tns1'));
chart.draw(data, options);
}