js实现canvas保存图片为png格式并下载到本地的方法

整理文档,搜刮出一个js实现canvas保存图片为png格式并下载到本地的方法,稍微整理精简一下做下分享

1.canvas 保存图片

2.下载到本地

rush:js;"> function base64Img2Blob(code){
    var parts = code.split(';base64,');

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

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

    var rawLength = raw.length;



    var uInt8Array = new Uint8Array(rawLength);



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

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

    }



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

  }

  function downloadFile(fileName,content){



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

    var blob = base64Img2Blob(content); //new Blob([content]);



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

    evt.initEvent("click",false,false);//initEvent 不加后两个参数在FF下会报错

    aLink.download = fileName;

    aLink.href = URL.<a href="https://www.jb51.cc/tag/createObjectURL/" target="_blank" class="keywords">createObjectURL</a>(blob);



    aLink.<a href="https://www.jb51.cc/tag/dis/" target="_blank" class="keywords">dis</a>patchEvent(evt);

  }      

downloadFile('ship.png',canvas.toDataURL("image/png"));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...