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实现动态的二级三级菜单效果实例源码
Jan 04 HTML / CSS
CSS3中box-shadow的用法介绍
Jul 15 HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
Feb 14 HTML / CSS
利用CSS3的3D效果制作正方体
Mar 10 HTML / CSS
基于HTML5 Canvas:字符串,路径,背景,图片的详解
May 09 HTML / CSS
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
Jun 16 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
May 11 HTML / CSS
HTML5中meta属性的使用方法
Feb 29 HTML / CSS
关于html字符串正则判断和匹配的具体使用
Dec 12 HTML / CSS
uniapp+Html5端实现PC端适配
Jul 15 HTML / CSS
css背景和边框标签实例详解
May 21 HTML / CSS
CSS极坐标的实例代码
Jun 03 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下MAIL的另一解决方案
2006/10/09 PHP
PHP中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
php的memcached客户端memcached
2011/06/14 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Python断言assert的用法代码解析
2018/02/03 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
加入学生会演讲稿
2014/04/24 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript