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 相关文章推荐
js实现上传图片之上传前预览图片
Mar 25 Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 Javascript
jQuery简易图片放大特效示例代码
Jun 09 Javascript
基于node.js依赖express解析post请求四种数据格式
Feb 13 Javascript
node.js平台下的mysql数据库配置及连接
Mar 31 Javascript
vue两个组件间值的传递或修改方式
Jul 04 Javascript
微信小程序实现折叠展开效果
Jul 19 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
Sep 03 Javascript
layer弹出层扩展主题的方法
Sep 11 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
Vue 数据绑定的原理分析
Nov 16 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的类 功能齐全的发送邮件类
2006/10/09 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
python二分法实现实例
2013/11/21 Python
学习python 之编写简单乘法运算题
2016/02/27 Python
Python入门学习指南分享
2018/04/11 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
python多进程读图提取特征存npy
2019/05/21 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
介绍一下木马病毒的种类
2015/07/26 面试题
建筑工程实习自我鉴定
2013/09/19 职场文书
超级搞笑检讨书
2014/01/15 职场文书
大学毕业生个人总结
2015/02/28 职场文书
出国留学自荐信模板
2015/03/06 职场文书
商场广播稿范文
2015/08/19 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL