直入正题,经过2天的玩弄,发现QR码的生成有以下三种:
google QR API
相关jquery QR插件
后端语言生成
下面我分别来介绍下这三种方法及优劣分析。
google QR API
这是最简单的,只需一个链接,如:
代码语言:javascript复制https://chart.googleapis.com/chart?cht=qr&chs=200x200&choe=UTF-8&chld=L|4&chl=http://www.cnblogs.com/hooray
然后将它放到img标签里,就能自动生成QR码图片了
下面就具体说下链接里的参数吧
https://chart.googleapis.com/chart? 这是Google Chart API的头部,直接照抄就行
&cht=qr 这是说图表类型为qr也就是二维码
&chs=200x200 这是说生成图片尺寸为200*200,是宽*高,这并不是生成图片的真实尺寸,应该是最大尺寸吧
&choe=UTF-8 这是说内容的编码格式为UTF-8,此值默认为UTF-8(其他的编码格式请参考Google API文档)
&chld=L|4 L代表默认纠错水平,4代表二维码边界空白大小,可自行调节(具体参数请参考Google API文档)
&chl=XXXX 这是QR内容,也就是解码后看到的信息,包含中文时请使用UTF-8编码汉字,否则将出现问题
参数就是这么多了,利用google的QR API就可以制作类似博客签名的东东(参考文章结束部分)
优点:不占用服务器资源,速度稳定,生成图片
缺点:不能设置QR码颜色
相关jquery QR插件
插件有几个,我主要介绍“jquery.qrcode.js”,它的调用方法非常简单,就拿官方的demo来看吧
代码语言:javascript复制<div id="qrcode"></div>
<script>
jQuery('#qrcode').qrcode({
render : "table",
text : "http://jetienne.com"
});
</script>
它可以设置生成的图片形式是table或者canvas
优点:不占用服务器资源,可设置颜色(插件里是写死的,不过可以修改插件实现颜色修改)
缺点:不生成图片,table模式下可能会出错,canvas部分浏览器不支持
后端语言生成
我主要介绍下php的一个QR类,他是基于GD2库来绘制QR码的,并且生成图片,原本不支持颜色修改,不过我稍微修改了一点,可以设置颜色了。
PHP QR Code:官方地址 胡尐睿丶修改版
具体的就不多讲了,配置好后打开index.php能看到如下界面就OK了,至于如何在项目中使用就自己慢慢研究去吧
优点:生成图片,可修改颜色
缺点:占用服务器资源
附1:QR码存储容量图