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 相关文章推荐
FCK调用方法..
Dec 21 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
js实现当前输入框高亮显示的方法
Aug 19 Javascript
Vue过滤器的用法和自定义过滤器使用
Feb 08 Javascript
vue货币过滤器的实现方法
Apr 01 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
JS 实现分页打印功能
May 16 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
原生JavaScript实现五子棋游戏
Nov 09 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
Python实现股市信息下载的方法
2015/06/15 Python
python实现linux下使用xcopy的方法
2015/06/28 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python生成随机图形验证码详解
2017/11/08 Python
Python编程argparse入门浅析
2018/02/07 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
Pyqt5实现英文学习词典
2019/06/24 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
如何利用Python 进行边缘检测
2020/10/14 Python
轻松制作精彩视频:Animoto
2018/09/19 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
银行职业规划书范文
2013/12/28 职场文书
职业规划书如何设计?
2014/01/09 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
2014年班级工作总结
2014/11/14 职场文书
晚会闭幕词
2015/01/28 职场文书
一级电子管军用接收机测评
2022/04/05 无线电