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 background属性调整增强介绍
Dec 18 HTML / CSS
css3+jq创作含苞待放的荷花
Feb 20 HTML / CSS
布局和排版教程 纯css3实现图片三角形排列
Oct 17 HTML / CSS
使用CSS3实现圆角,阴影,透明
Dec 23 HTML / CSS
HTML5上传文件显示进度的实现代码
Aug 30 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
HTML5 Canvas实现360度全景图的示例代码
Jan 29 HTML / CSS
html5 input输入实时检测以及延时优化
Jul 18 HTML / CSS
跨域修改iframe页面内容详解
Oct 31 HTML / CSS
CSS3实现的文字弹出特效
Apr 16 HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 HTML / CSS
css3带你实现3D转换效果
Feb 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
我的论坛源代码(六)
2006/10/09 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
javascript 对象定义方法 简单易学
2009/03/22 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
Python3遍历目录树实现方法
2015/05/22 Python
python爬取网易云音乐评论
2018/11/16 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
消防应急演练方案
2014/02/12 职场文书
公司接待方案
2014/03/08 职场文书
司法局火灾防控方案
2014/06/05 职场文书
学校花圃的标语
2014/06/18 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers