常用的二维码生成方式有使用软件/在线固定生成,也有调用API动态生成。固定二维码不灵活,调用API会受限于网络和主机性能,既然如此不妨用“富客户端”的思想,将二维码的生成过程迁移到前端来,让性能足够强的客户端设备分担服务器的压力。
在一番搜索下香菇找到了一个叫做qrcode
的使用javascript编写的二维码生成组件:https://github.com/aralejs/qrcode
阅读文档后了解到该模块支持<script>
标签引用,暴露全局变量为AraleQRCode
。
实际上示例提到该组件支持默认
,table
,canvas
,svg
四种方式绘制二维码,其中后三种支持添加中置logo图片,菇选择了最近在玩的canvas方式绘制,例:
<script src="/usr/themes/yodu/js/qrcode.js"></script>
<div id="erwei_qr"></div>
<script>
var qrnode = new AraleQRCode({
render: 'canvas', //绘制方式
correctLevel: 0, //容错级别:0 1 2 3
text: '/canvas-colorful-qrcode.html', //二维码内容
size: 128, //尺寸
background: '#eeeeee', //背景填充色
foreground: '#667766', //前景填充色
pdground: '#FF7575', //三个角标颜色
image : '/usr/themes/yodu/img/qrlogo.png', //中间logo地址
imageSize : 28 //logo尺寸
});
document.getElementById('erwei_qr').appendChild(qrnode);
</script>
如上示例,内容、颜色、logo、尺寸等都可以结合后端脚本动态替换,十分方便,且绘制过程在加载js文件后完全由浏览器承担。本站文章下方二维码便是用此方式生成。嗯!真是太棒辣!(๑•̀ㅂ•́)و✧
版权属于:香菇
本文链接:https://blog.siitake.cn/canvas-colorful-qrcode.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
这个香菇有点大_(:зゝ∠)_
嘎嘎嘎!大是一种态度。
再加个护眼模式/啪
咦?护眼模式是指神马@_@
绿草绿或者是baoqiang绿?/噗呲
你的这个博客为啥字都调的这么大, 适合老年人群的么?
因为…因为这样可以保护眼睛、专注阅读啊~嗯!就是这样!(香菇才不是老年人
够大 够清晰的主题
可在一米外无压力阅读(●ˇ∀ˇ●)
不错的呢、、、、嘿嘿。。。
亮骚起来~ (╯‵□′)╯︵┻━┻
药药药~