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 相关文章推荐
CSS Grid布局教程之什么是网格布局
Dec 30 HTML / CSS
CSS3实现曲线阴影和翘边阴影
May 03 HTML / CSS
CSS3动画特效在活动页中的应用
Jan 21 HTML / CSS
详解css3中的伪类before和after常见用法
Nov 17 HTML / CSS
如何利用input事件来监听移动端的输入
Apr 15 HTML / CSS
使用phonegap获取设备的一些信息方法
Mar 31 HTML / CSS
详解html2canvas截图不能截取圆角图片的解决方案
Jan 30 HTML / CSS
移动端Html5中百度地图的点击事件
Jan 31 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
Aug 21 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
Oct 23 HTML / CSS
纯CSS3实现div按照顺序出入效果
Jul 15 HTML / CSS
聊聊CSS粘性定位sticky案例解析
Jun 01 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
咖啡的种类和口感
2021/03/03 新手入门
打造计数器DIY三步曲(上)
2006/10/09 PHP
php mysql索引问题
2008/06/07 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
php获取系统变量方法小结
2015/05/29 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
js获取url传值的方法
2015/12/18 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
python局域网ip扫描示例分享
2014/04/03 Python
Python内置函数的用法实例教程
2014/09/08 Python
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
浅谈Python NLP入门教程
2017/12/25 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
体育学院毕业生自荐信
2013/11/03 职场文书
工地安全标语
2014/06/07 职场文书
专科生就业求职信
2014/06/22 职场文书
检讨书大全
2015/01/27 职场文书
材料采购员岗位职责
2015/04/03 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
使用Redis实现分布式锁的方法
2022/06/16 Redis
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库