echarts自定义名称通过当前时间下载图片

代码如下:

<!DOCTYPE html>

<html style="height: 100%">

<head>

    <Meta charset="utf-8">

    <title>JS实现Echarts的图表保存为图片功能</title>

</head>

<body style="height: 100%; margin: 0">

    <button οnclick="saveAsImage()">导出图片</button>

    <!-- <input type="button" value="导出" οnclick="saveAsImage()"/> -->

    <div id="container" style="height: 100%"></div>

    <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>

    <!-- <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script> -->

    <script type="text/javascript">

        var dom = document.getElementById("container");

        var myChart = echarts.init(dom);

        var app = {};

        option = null;

        option = {

            xAxis: {

                type: 'category',

                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

            },

            yAxis: {

                type: 'value'

            },

            // toolBox: {

            //     show: true,

            //     feature: {

            //         saveAsImage: {}

            //     }

            // },

            series: [{

                data: [820, 932, 901, 934, 1290, 1330, 1320],

                type: 'line'

            }]

        };

        if (option && typeof option === "object") {

            myChart.setoption(option, true);

        }

        console.log(myChart.getDataURL());

        //base64转blob

        function base64ToBlob(code) {

            let parts = code.split(';base64,');

            let contentType = parts[0].split(':')[1];

            let raw = window.atob(parts[1]);

            let rawLength = raw.length;

            let uInt8Array = new Uint8Array(rawLength);

            for (let i = 0; i < rawLength; ++i) {

                uInt8Array[i] = raw.charCodeAt(i);

            }

            return new Blob([uInt8Array], { type: contentType });

        }

        function saveAsImage() {

            let content = myChart.getDataURL();

            let aLink = document.createElement('a');

            let blob = this.base64ToBlob(content);

            let evt = document.createEvent("HTMLEvents");

            evt.initEvent("click", true, true);

            aLink.download =new Date() + ".png";

            aLink.href = URL.createObjectURL(blob);

            aLink.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));

        }

    </script>

</body>

</html>

使用vue实现方法直接把base64ToBlob,saveAsImage写在methods里面

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...
win11本地账户怎么改名?win11很多操作都变了样,用户如果想要...