zoukankan      html  css  js  c++  java
  • js div 转canvas 场景出图

    代码

    参考博客 JS实现将div生成高清图片并保存本地 https://blog.csdn.net/qq_42583562/article/details/87755493

    //div出图 需引入 html2canvas.js  下载地址 http://html2canvas.hertzen.com/
    function exportDivAsPNG(divname,pngname){
        //创建一个新的canvas
        var tempCanvas = document.createElement("canvas");
        let tempDiv = document.querySelector(('#'+divname));
        var w = parseInt(window.getComputedStyle(tempDiv).width);
        var h = parseInt(window.getComputedStyle(tempDiv).height);
        //将canvas画布放大若干倍,然后盛放在较小的容器内,就显得不模糊了
        tempCanvas.width = w * 2;
        tempCanvas.height = h * 2;
        tempCanvas.style.width = w + "px";
        tempCanvas.style.height = h + "px";
        //可以按照自己的需求,对context的参数修改,translate指的是偏移量
        //  var context = canvas.getContext("2d");
        //  context.translate(0,0);
        var context = tempCanvas.getContext("2d");
        context.scale(0, 0);
        html2canvas(document.querySelector(('#'+divname)), { canvas: tempCanvas }).then(function(canvas) {
        var MIME_TYPE = "image/png";
        var imgURL = canvas.toDataURL(MIME_TYPE);
        var dlLink = document.createElement('a');
        dlLink.download = pngname;
        dlLink.href = imgURL;
        dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');
        document.body.appendChild(dlLink);
        dlLink.click();
        document.body.removeChild(dlLink);
        });
        };
        
    //得到当前时间字符串,格式为:YYYY-MM-DD HH:MM:SS    
    function curentTimeString() {   
        var now = new Date();    
        var year = now.getFullYear();       //年  
        var month = now.getMonth() + 1;     //月  
        var day = now.getDate();            //日      
        var hh = now.getHours();            //时  
        var mm = now.getMinutes();          //分  
        var ss=now.getSeconds();            //秒    
        var clock = year + "-";    
        if(month < 10) clock += "0";         
        clock += month + "-";    
        if(day < 10) clock += "0";   
        clock += day + " ";  
        if(hh < 10) clock += "0";  
        clock += hh + ":";  
        if (mm < 10) clock += '0';   
        clock += mm+ ":";      
        if (ss < 10) clock += '0';   
        clock += ss;  
        return(clock);   
        }; 
        //使用方式
        exportDivAsPNG('mapDiv',curentTimeString());
    

    效果

  • 相关阅读:
    jQuery:一些小练习
    jQuery
    JavaWeb:笔记(三)
    JavaWeb:笔记(二)
    JavaWeb:笔记(一)
    JavaWeb:文件的上传下载
    JavaWeb:Listener
    基于RRT的机器人自主探索建图
    OpenNI2安装
    g2o初始化一些
  • 原文地址:https://www.cnblogs.com/hustshu/p/15226684.html
Copyright © 2011-2022 走看看