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特效之动画:animation的应用
May 09 HTML / CSS
css3 条纹化和透明化表格Firefox下测试成功
Apr 15 HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 HTML / CSS
CSS3实现swap交换动画
Jan 19 HTML / CSS
利用CSS3实现单选框动画特效示例代码
Sep 26 HTML / CSS
CSS3实现文字波浪线效果示例代码
Nov 20 HTML / CSS
HTML5打开本地app应用的方法
Mar 31 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
推荐10个HTML5响应式框架
Feb 25 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
May 20 HTML / CSS
如何用canvas实现在线签名的示例代码
Jul 10 HTML / CSS
如何通过 CSS 写出火焰效果
Mar 24 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
百度实时推送api接口应用示例
2014/10/21 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[02:03]DOTA2亚洲邀请赛 HGT战队出场宣传片
2015/02/07 DOTA
python3抓取中文网页的方法
2015/07/28 Python
Python进程间通信Queue实例解析
2018/01/25 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
Python内置类型性能分析过程实例
2020/01/29 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
药品促销活动方案
2014/02/14 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
红色旅游心得体会
2014/09/03 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
南京导游词
2015/02/03 职场文书
北京英文导游词
2015/02/12 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书