gpt4 book ai didi

canvas - 在页面上将 Highcharts Canvas 渲染为 PNG

转载 作者:行者123 更新时间:2023-12-02 14:38:28 26 4
gpt4 key购买 nike

我正在使用 HighCharts 库生成一些动态图表。但是,我想将 HighCharts Canvas 元素渲染为 PNG 图像,以便用户可以将图表复制并粘贴到电子邮件等中,而无需使用导出功能。

具体来说,我正在尝试创建一个包含图表的 HTML 电子邮件模板,并希望用户能够选择全部 > 复制/粘贴到他们的电子邮件客户端中,而不是复制/粘贴、导出图像,然后查找一种将其插入电子邮件的方法。

我发现了这个:Capture HTML Canvas as gif/jpg/png/pdf? ,但代码似乎没有将图像渲染到文档中。

最佳答案

Here's a hack如果您决心使用 HighCharts。它使用 canvg将 SVG 解析为 Canvas ,然后将 Canvas 转换为 PNG。

chart = new Highcharts.Chart({
    
    chart: {
        renderTo: 'container'
    },
    
    title: {
        text: ''
    },
    
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    
    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
    }],
    
    navigation: {
        buttonOptions: {
            align: 'center'
        }
    }
});

canvg(document.getElementById('canvas'), chart.getSVG())
    
var canvas = document.getElementById("canvas");
var img = canvas.toDataURL("image/png");

document.write('<img src="'+img+'"/>');

关于canvas - 在页面上将 Highcharts Canvas 渲染为 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995177/

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