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());
    

    效果

  • 相关阅读:
    WCF获取客户端IP,端口
    关闭应用程序(主程序)(WPF)
    WPF中自定义漂亮的进度条
    使用Silverlight4与Wcf4的Net.tcp实现的简单聊天室
    NET使用Js调用WebService
    [转]IBM服务器系列产品分类指南
    [转]delphi 变参函数:array of const
    [转]合并BPL包图文教程!
    [转]ABAP流程处理控制命令的说明
    [转]QR代码(Quick Response Code)简介
  • 原文地址:https://www.cnblogs.com/hustshu/p/15226684.html
Copyright © 2011-2022 走看看