node生成二维码

日期:2016-8-3 00:59 | 标签: node | 阅读:931

听到标题所述需求,首先想到的是node-image、node-canvas这些库,又想到需要自定义文字,是否可以使用随机生成验证码相关的库呢,比如说node-ccap,开始逐个了解以下类库的作用。

node-ccap

基于c++库CImg的,真的也就是生成验证码而已了!

node-image

跨平台的图像编码解码工具,其只能做一些简单的图像处理,不能满足需求,看到能够使用jquery的链式写法还是挺有趣的。
地址:https://www.npmjs.com/package/node-images

node-canvas

Tj主导刀,可加水印,可加验证码,...用法类似html5 canvas,也难怪命名为canvas了,由于涉及到图像处理,需要安装对应操作系统的图形库插件。本人使用阿里云centOS,安装命令如下:

su -c 'yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel'
yum search arial
yum install liberation-sans-fonts.noarch
npm install canvas

gm

能够做更高级的图像处理,包括了图片的创建、编辑、合成、读取、转换、切割、颜色替换等各种图片处理功能。
地址: https://www.npmjs.com/package/gm
教程:http://www.jianshu.com/p/a651258c9135?_wv=5

实践

GitHub地址:https://github.com/pengkobe/node-qrcode-generator

问题

fillText不支持中文,绘制中文时显示为乱码方格,issue:https://github.com/Automattic/node-canvas/issues/461 ,暂时没有被close掉。 后知后觉可能是系统没有中文字体,于是按照自己整理的这个,安装字体后,完美解决!效果图:
合成二维码

版权声明: 署名-非商业性使用-禁止演绎 4.0 国际(CC BY-NC-ND 4.0
Copyright ©2013-2017 | 粤ICP备14081691号 | yipeng手工打造 | 联系方式