gpt4 book ai didi

javascript - 从 Canvas 中获取 chart.js 的图像并将其显示为图像

转载 作者:行者123 更新时间:2023-12-03 16:38:22 29 4
gpt4 key购买 nike

显示图表的 base64 图像。

我创建了一个简单的图表。创建它后,我想获取它的 base64 图像并将其显示在 html 中,但我无法做到这一点。

这是我的FIDDLE

HTML

<body>
<canvas id="chartJSContainer" width="100" height="100"></canvas>
<img src="" id="coolImage" class="img-fluid" alt="Responsive image">
</body>

JS 代码

var options = {
type: 'line',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [
{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
borderWidth: 1,
backgroundColor: 'rgba(255, 0, 15, 0.54)'
},
{
label: '# of Points',
data: [7, 11, 5, 8, 3, 7],
borderWidth: 1
}
]
},
options: {
label: {
fontSize: 50
},
scales: {
yAxes: [{
ticks: {
reverse: false
}
}]
}
}
}


var ctx = document.getElementById('chartJSContainer').getContext('2d');
var lineChart = new Chart(ctx, options);
document.getElementById('coolImage').setAttribute('src', lineChart.toBase64Image());

我什至不确定我的逻辑是否正确,因为可能有更简单的方法可以做到这一点。我本质上想显示图形的图像,而不是交互式折线图本身。

最佳答案

您只需要等到图表加载完毕即可获取图像。

我可以通过快速搜索找到的唯一回调是动画 onComplete。

这是 fiddle显示它工作正常。

animation: {
onComplete: function() {
document.getElementById('coolImage').setAttribute('src', lineChart.toBase64Image());
}
}

关于javascript - 从 Canvas 中获取 chart.js 的图像并将其显示为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60804527/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com