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心形加载的动画源码的实现
Mar 09 HTML / CSS
详解Css3新特性应用之过渡与动画
Jan 10 HTML / CSS
纯css3实现的鼠标悬停动画按钮
Dec 23 HTML / CSS
魔幻般冒泡背景的CSS3按钮动画
Feb 27 HTML / CSS
关于css兼容性问题及一些常见问题汇总
May 03 HTML / CSS
如何用css3实现switch组件开关的方法
Feb 09 HTML / CSS
详解HTML5表单新增属性
Dec 21 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
Jul 02 HTML / CSS
HTML5如何使用SVG的方法示例
Jan 11 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
如何在CSS中绘制曲线图形及展示动画
May 24 HTML / CSS
CSS精灵图的原理与使用方法介绍
Mar 17 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
php多层数组与对象的转换实例代码
2013/08/05 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
js传值 判断
2006/10/26 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
python实现的发邮件功能示例
2019/09/11 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
幼儿园元旦活动感言
2014/03/02 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
小学班级口号大全
2015/12/25 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
销售会议开幕词
2016/03/04 职场文书
大学生创业计划书
2019/06/24 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
MySQL系列之二 多实例配置
2021/07/02 MySQL