gpt4 book ai didi

javascript - 无法使用 jspdf 和 chartjs 将背景颜色添加到 Canvas

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:15 24 4
gpt4 key购买 nike

我正在使用 jspdf 插件将条形图导出为 pdf。图表上的条形图为白色,因此当我导出为 pdf(作为 png 图像)时,条形图在 pdf 的透明背景上不可见。我在容器上添加了灰色背景颜色,以便清晰可见白色条。当我将图表导出为 pdf 时,它仍然显示透明背景而不是灰色。有人可以告诉我我错过了什么吗?

JavaScript:

    $(document).ready(function(){

$('#hyppdf').click(function(){
var canvasImg = document.getElementById("myChart").toDataURL("image/png",
1.0);
var doc = new jsPDF();
doc.setFontSize(33);
doc.setFillColor(135, 124,45,0);
doc.addImage(canvasImg, 'png', 10, 10, 150, 100);
doc.save('sample.pdf');
})

var ctx = document.getElementById("myChart").getContext('2d');

var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["M", "T", "W", "T", "F", "S", "S"],
datasets: [{
label: 'apples',
data: [12, 19, 3, 17, 28, 24, 7],
backgroundColor: "rgba(255,255,255,1)"
}, {
label: 'oranges',
data: [30, 29, 5, 5, 20, 3, 10],
backgroundColor: "rgba(255,153,0,1)"
}]
}
});

})

html:

    <div class="container" style="background-color:#ccc">
<h2> <a id="hyppdf" href="#">download</a></h2>
<div>
<canvas id="myChart"></canvas>
</div>
</div>

https://jsfiddle.net/2gnajnz4/5/

谢谢

最佳答案

我认为您可以通过在将图像导出为 pdf 之前添加一个矩形来解决您的问题:

  doc.setFillColor(204, 204,204,0);
doc.rect(10, 10, 150, 160, "F");

查看更新 fiddle :

关于javascript - 无法使用 jspdf 和 chartjs 将背景颜色添加到 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41473019/

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