canvas 下载二维码和图片加水印的方法


Posted in HTML / CSS onMarch 21, 2018

昨天介绍了一个生成二维码的插件QRCode.js,它是借助HTML5 Canvas绘制而成。所以,今天的主角就是canvas啦–canvas的实际应用。

一、下载二维码(查看如何生成二维码

HTMLCanvasElement提供了toDataURL方法,该方法返回一个包含被类型参数规定图像表现格式的data URI。通过该方法我们就可以生成二维码图片并下载了。示例如下:

/*html*/
<div id="qrcode">div>
<a href="javascript:;" download="二维码" id="down">下载二维码</a>

/*js*/
var canvas = document.getElementsByTagName('canvas')[0];
var downImg = document.getElementById('down')
img.href = document.getElementsByTagName('canvas')[0].toDataURL('image/png')

二、图片加水印

利用canvas的fillText和drawImage方法可以轻松实现给图片加水印。示例如下:

/*html*/
<canvas id="canvas"></canvas>

/*js*/
var img = new Image();   // 创建img元素
var canvas = document.getElementById('canvas')
var ctx = canvas.getContext('2d');
img.src = 'myImage.png';

img.onload = function(){
    ctx.drawImage(img, 0, 0);
    ctx.font="30px yahei";   //设置水印文字
    ctx.fillText("大前端", 1100, 260)
}

今天暂时写到这里,欢迎分享关于canvas的其他应用。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3不透明度实例讲解
Apr 26 HTML / CSS
实例讲解CSS3中的box-flex弹性盒属性布局
Jun 09 HTML / CSS
如何用css3实现switch组件开关的方法
Feb 09 HTML / CSS
CSS3 input框的实现代码类似Google登录的动画效果
Aug 04 HTML / CSS
HTML5之web workers_动力节点Java学院整理
Jul 17 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
Feb 10 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
Jan 09 HTML / CSS
html5设计原理(推荐收藏)
May 17 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
Dec 08 HTML / CSS
详解如何在登录过期后跳出Ifram框架
Sep 10 HTML / CSS
关于HTML5+ API plusready的兼容问题
Nov 20 HTML / CSS
移动端HTML5开发神器之vconsole详解
Dec 15 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
Mar 21 #HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
Mar 21 #HTML / CSS
浅谈html5与APP混合开发遇到的问题总结
Mar 20 #HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
Mar 20 #HTML / CSS
HTML5 新表单类型示例代码
Mar 20 #HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
Mar 19 #HTML / CSS
基于HTML5 WebGL的3D机房的示例
Mar 16 #HTML / CSS
You might like
swfupload 多文件上传实现代码
2008/08/27 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
JavaScript的Cookies
2008/01/16 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
百度地图api如何使用
2015/08/03 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
Python实现分段线性插值
2018/12/17 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
python如何将多个PDF进行合并
2019/08/13 Python
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
自我鉴定200字
2013/10/28 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
档案保密承诺书
2014/06/03 职场文书
2014年档案室工作总结
2014/12/01 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
业务员岗位职责范本
2015/04/03 职场文书
浅谈如何提高PHP代码的质量
2021/05/28 PHP
box-shadow单边阴影的实现
2023/05/21 HTML / CSS