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


Posted in Javascript onAugust 31, 2017

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

1.canvas 保存图片

2.下载到本地

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.createObjectURL(blob);

     

        aLink.dispatchEvent(evt);

      }      

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery实现的表格分页实现代码
Jun 21 Javascript
javaScript 页面自动加载事件详解
Feb 10 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
老生常谈js数据类型
Aug 03 Javascript
Node.js 使用AngularJS的方法示例
May 11 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
May 15 Javascript
使用JS代码实现俄罗斯方块游戏
Aug 03 Javascript
cdn模式下vue的基本用法详解
Oct 07 Javascript
js replace替换字符串同时替换多个方法
Nov 27 Javascript
微信小程序实现点击效果
Jun 21 Javascript
微信小程序实现form表单本地储存数据
Jun 27 Javascript
JavaScript缓动动画函数的封装方法
Nov 25 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 #Javascript
vue实现全选和反选功能
Aug 31 #Javascript
浅谈Vue 初始化性能优化
Aug 31 #Javascript
Vue keep-alive实践总结(推荐)
Aug 31 #Javascript
深入理解vue-router之keep-alive
Aug 31 #Javascript
vue-router 导航钩子的具体使用方法
Aug 31 #Javascript
浅谈express 中间件机制及实现原理
Aug 31 #Javascript
You might like
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
JS中style属性
2006/10/11 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
vue实现a标签点击高亮方法
2018/03/17 Javascript
js动态引入的四种方法
2018/05/05 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
一则python3的简单爬虫代码
2014/05/26 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
json跨域调用python的方法详解
2017/01/11 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
python 定时修改数据库的示例代码
2018/04/08 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
Python如何实现转换URL详解
2019/07/02 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
HTML5中div、article、section的区别及使用介绍
2013/08/14 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
大学本科生的个人自我评价
2013/12/09 职场文书
决定成败的关键——创业计划书
2014/01/24 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
党员剖析材料范文
2014/12/18 职场文书
筑梦中国心得体会
2016/01/18 职场文书
《三国志》赏析
2019/08/27 职场文书