昨天介绍了一个生成二维码的插件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) }