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 相关文章推荐
Ctrl+Enter提交内容信息
Jun 26 Javascript
window.location和document.location的区别分析
Dec 23 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
May 23 Javascript
在JavaScript中使用timer示例
May 08 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
May 09 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
Nov 02 Javascript
利用纯js + transition动画实现移动端web轮播图详解
Sep 10 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
Aug 24 jQuery
AngularJS实现的自定义过滤器简单示例
Feb 02 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 Javascript
js 数组当前行添加数据方法详解
Jul 28 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数据库调用类调用实例(详细注释)
2012/07/12 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
jQuery+HTML5加入购物车代码分享
2020/10/29 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
详解Python爬虫的基本写法
2016/01/08 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
基于python绘制科赫雪花
2018/06/22 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
python输出pdf文档的实例
2020/02/13 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
《只有一个地球》教学反思
2014/02/14 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书