【发布时间】:2019-08-16 14:05:51
【问题描述】:
假设我有电子邮件模板并且它包含动态图像生成
在我的电子邮件模板中
<td style="font-size:12px;color:#333333;padding:10px 10px 10px 0;">
<img src="/index.php">
</td>
所以当有人打开电子邮件时,我只需运行 index.php 代码并返回由图表 js 生成的 base64 图像,我不知道正确的方法是什么
<script src="/plugins/jquery-3.3.1/jquery-3.3.1.slim.min.js"></script>
<body>
<img src="https://cdn.pixabay.com/photo/2015/03/30/20/33/heart-700141_960_720.jpg">
<canvas id="canvas" height="450" width="600"></canvas>
<img id="url" />
</body>
<script type="text/javascript">
var lineChartData = {
labels : ["January","February","March","April","May","June","July"],
datasets : [
{
fillColor : "rgba(220,220,220,0.5)",
strokeColor : "rgba(220,220,220,1)",
pointColor : "rgba(220,220,220,1)",
pointStrokeColor : "#fff",
data : [65,59,90,81,56,55,40],
bezierCurve : false
}
]
}
function done(){
alert("haha");
var url=myLine.toBase64Image();
console.log(url);
document.getElementById("url").src=url;
}
var options = {
bezierCurve : false,
animation: {
onComplete: done
}
};
var myLine = new Chart(document.getElementById("canvas").getContext("2d"),{
data:lineChartData,
type:"line",
options:options
});
</script>
<?php
header('Content-type: image/png');
那么我怎样才能获得 base64 图像作为回报呢?
【问题讨论】:
-
不重复,看它是用 laravel, php
-
我的观点是如何渲染图表 js 的图像让我们说带有动态数据的电子邮件模板中的条形图