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 相关文章推荐
javascript while语句和do while语句的区别分析
Dec 08 Javascript
基于jQuery的计算文本框字数的代码
Jun 06 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
JavaScript中的slice()方法使用详解
Jun 06 Javascript
Jquery日期选择datepicker插件用法实例分析
Jun 08 Javascript
巧用数组制作图片切换js代码
Nov 29 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
linux 后台运行node服务指令方法
May 23 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
Sep 23 Javascript
在vue中使用Base64转码的案例
Aug 07 Javascript
javascript贪吃蛇游戏设计与实现
Sep 17 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
微信小程序上传图片实例
2018/05/28 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
python中web框架的自定义创建
2019/09/08 Python
解决python replace函数替换无效问题
2020/01/18 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
AJAX的全称是什么
2012/11/06 面试题
办公室文秘自我评价
2013/09/21 职场文书
实习医生自我评价
2013/09/22 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
养成教育经验材料
2014/05/26 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
企业整改报告范文
2014/11/08 职场文书
2015年环保局工作总结
2015/05/22 职场文书
大学生见习总结报告
2015/06/24 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
实现GO语言对数组切片去重
2022/04/20 Golang