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 动画技术
Jul 27 HTML / CSS
网页切图的CSS和布局经验与要点
Apr 09 HTML / CSS
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
Nov 21 HTML / CSS
详解CSS3+JS完美实现放大镜模式
Dec 03 HTML / CSS
浅谈three.js中的needsUpdate的应用
Nov 12 HTML / CSS
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
Dec 13 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
Jun 25 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
Aug 31 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
Nov 14 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
Sep 10 HTML / CSS
关于HTML编码导致的乱码问题
Sep 04 HTML / CSS
CSS实现单选折叠菜单功能
Nov 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
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
JSQL  一个 web DB 的封装
2010/05/05 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
学习python的几条建议分享
2013/02/10 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
python做反被爬保护的方法
2019/07/01 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
本科生详细的自我评价
2013/09/19 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
服务理念口号
2014/06/11 职场文书
文艺晚会策划方案
2014/06/11 职场文书
迁户口计划生育证明
2014/10/19 职场文书
2014年财政所工作总结
2014/11/22 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python