最近在研究二维码的生成,目前找到了javascript版本和php版本。

先来说说javascript版吧,其实就是一个jquery插件——jquery.qrcode,看了源码之后发现jquery.qrcode.js里面提供了2种生成二维码的机制:使用canvas或table。对于支持html5的浏览器使用canvas效率是非常高的,并且不会对服务器产生任何压力,客户端也不会有太多压力;可是如果为了兼容像IE8等浏览器,还是需要使用table方式。

判断浏览器是否支持canvas的代码:

function canvasSupport() {
    return !!document.createElement('canvas').getContext;
}

于是,写了这么一个在线生成二维码的demo,下载即用,如果将table改为canvas将会得到一个质的提升。

$('#qrcodeTable').qrcode({
    render  : "table",
    text    : utf16to8(str),
    width:"400",
    height:"400"
});

jquery二维码插件下载地址:

使用jquery.qrcode生成二维码(支持中文).zip

来说说php中怎样实现二维码,主要使用phpqrcode这个开源库:http://phpqrcode.sourceforge.net/

官方给的项目库比较大,个人只使用了phpqrcode.php这一个文件:
php生成不带logo的二维码.zip

可惜是phpqrcode.php并未实现生成带有logo的二维码,但是使用php的GD库函数在《php利用PHP QR Code生成二维码(带logo)》中已经实现了。

源码下载:
php生成带logo的二维码.zip

以上转载:http://blog.zhengshuiguang.com/php/qrcode.html

如何用jquery.qrcode.js插件在线生成二维码

在之前的一篇文章中我介绍了用php怎么生成二维码,今天我要说的是用jquery.qrcode.js前端生成二维码。

jquery.qrcode.js是一个纯浏览器生成QRcode的jQuery插件,它使用非常简单,生成的QRcode无需下载图片,并且不依赖第三方服务。实在是挺好用的。

官网地址:https://larsjung.de/jquery-qrcode/

其实在官方的API已经说的很清楚了,我这里只是做个简单的案例。

<div id="container"></div>
<script>
    $('#container').qrcode({
        // 渲染的方式 : 'canvas', 'image' or 'div'
        render: 'canvas',
        // 容错率 L-H 递增 level: 'L', 'M', 'Q' or 'H'
        ecLevel: 'H',
        // 大小
        size: 200,
// 圆角
radius: 0.5,
        // 背景色
        background: '#ffffff',
        // 内容
        text: 'https://m69w.com',
    });
</script>

效果如下:略

在线生成二维码 http://www.hehaibao.com/qr && https://github.com/hehaibao/php-qrcode
https://github.com/lrsjng/jquery-qrcode && demo源码
使用jquery.qrcode,在线生成二维码,支持中文,可设置LOGO版!【JS版】
使用PHPqrcode类库,在线生成二维码【PHP版】

标签:二维码, QR, qrcode

你的评论