html5使用canvas实现图片下载功能的示例代码
发布时间:2017-08-26 17:18:26 作者:hczhi88
我要评论
这篇文章主要介绍了html5使用canvas实现图片下载功能的示例代码,非常具有实用价值,需要的朋友可以参考下
最近项目中需要实现一个下载图片的功能(如下图)

一开始考虑使用a标签的download属性进行下载:
<a href="图片src" download="下载海报"> 下载海报 </a>
但是通过测试,发现再safari中,下载的文件不能带上拓展名,所以只好换一个思路,使用canvas进行处理。
1.图片需要添加crossOrigin='anonymous'设置图像的跨域属性
img.crossOrigin = 'anonymous';
2.使用toDataURL把图片转换成base64格式
canvas.toDataURL("image/png")
3.使用模拟点击事件,触发下载
var save_link = document.createElement('a');
save_link.href = image;
save_link.download ='测试.png';
var clickevent = document.createEvent('MouseEvents');
clickevent.initEvent('click', true, false);
save_link.dispatchEvent(clickevent);
完整代码:
var canvas = $('.canvas');
var cxt = canvas[0].getContext("2d");
function save(){
var img = new Image();
img.crossOrigin = 'anonymous';
img.onload = function(){
var _w = img.naturalWidth;
var _h = img.naturalHeight;
canvas.attr({width:_w,height:_h});
cxt.drawImage(img,0,0);
var image = canvas[0].toDataURL("image/png")
var save_link = document.createElement('a');
save_link.href = image;
save_link.download ='测试.png';
var clickevent = document.createEvent('MouseEvents');
clickevent.initEvent('click', true, false);
save_link.dispatchEvent(clickevent);
};
img.src = 'http://n.sinaimg.cn/sports/transform/20170825/NZI3- fykiufe6650492.jpg';
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
本篇文章主要介绍了html5教你做炫酷的碎片式图片切换 (canvas) ,具有一定参考价值,有兴趣的可以了解一下2017-07-28- 下面小编就为大家带来一篇【HTML5】Canvas绘制简单图片教程。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦2016-05-13
详解如何用HTML5 Canvas API控制图片的缩放变换
这篇文章主要介绍了用HTML5 Canvas API控制图片的缩放变换的教程,其中复杂的地方是如何编写JavaScript让鼠标成为放大或者缩小的中心,需要的朋友可以参考下2016-03-22详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
这篇文章主要介绍了通过HTML5 Canvas实现图片的平移及旋转变化的方法,其中旋转讲解的是配合平移坐标系确定圆心位置而进行的顺时针旋转,需要的朋友可以参考下2016-03-22- 这篇文章主要介绍了使用HTML5 Canvas为图片填充颜色和纹理的教程,包括颜色渐变的填充效果等,需要的朋友可以参考下2016-03-21
- 这篇文章主要介绍了HTML5 Canvas绘制文本及图片的基础教程, 通过Canvas我们就可以用JavaScript制作出程序代码可以轻松控制的文本和图片数据,需要的朋友可以参考下2016-03-14
- 这篇文章主要为大家详细介绍了html5 canvas移动浏览器上实现图片压缩上传的相关方法,提出了解决方法,分享了解决问题的思路,感兴趣的小伙伴们可以参考一下2016-03-11
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
这篇文章主要介绍了HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例,充分利用到了坐标的操作,说明都写在代码注释里了很简明,需要的朋友可以参考下2016-02-28- 这篇文章主要介绍了html5使用canvas绘制一张图片,需要的朋友可以参考下2014-12-15
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
这篇文章会介绍使用 JavaScript 实现水波纹效果。水波效果以图片为背景,点击图片任意位置都会触发,附源码下载,喜欢的朋友可以参考下2014-09-15



最新评论