客户端生成二维码

一、二维码介绍

 二维码的应用越来越多,开发中会经常使用,这里主要从二维码的介绍、客户端生成与服务器端生成三个方面讲解二维码。二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

二维码是信息的载体,通俗说就像我们使用的U盘,能存储一定量的信息在二维码中。

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

二、客户端生成二维码

在客户端生成二维码会降低服务器的运算与存储压力,当然要考虑安全性与兼容性。这里使用一个成熟的jQuery插件完成该功能,支持中文不依赖jQuery插件,源代码如下:链接: https://pan.baidu.com/s/1T1logibs_oh5a0z9Rb8j-A 提取码: 9mtq

添加标签作为容器:

<div id="qrCode"></div>

添加插件引用:

<script src="js/jqQrcode/qrcode.min.js" type="text/javascript" charset="utf-8"></script>

调用生成方法:

简单生成

new QRCode(document.getElementById("qrcode"), "内容");

带参数生成

 
var qrcode = new QRCode(document.getElementById("qrcode"), {
    text: "内容",
    width: 128,
    height: 128,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});
 

参数:

 
width 256  图像宽度
height    256    图像高度
typeNumber    4     
colorDark    "#000000"    前景色
colorLight    "#ffffff"    背景色
correctLevel    QRCode.CorrectLevel.L    容错级别,可设置为:
QRCode.CorrectLevel.L
QRCode.CorrectLevel.M
QRCode.CorrectLevel.Q
QRCode.CorrectLevel.H
 

方法:

makeCode(text)    设置二维码内容
clear()    清除二维码。(仅在不支持 Canvas 的浏览器下有效)

示例:

 
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <textarea id="txtContent" cols="50" rows="5"></textarea>
        <button type="button" onclick="getCode();">生成</button>
        <div id="qrCode"></div>
        <script src="js/jqQrcode/qrcode.min.js" type="text/javascript" charset="utf-8"></script>
        <script>
            var qrCode = document.getElementById("qrCode");
            var txtContent = document.getElementById("txtContent");
            var qrcode=new QRCode(qrCode,{
                        width:300,
                        height:300,
                        correctLevel:QRCode.CorrectLevel.L
                    });
                    
            function getCode() {
                qrcode.makeCode(txtContent.value);
            }
        </script>
    </body>

</html>
 

结果:

猜你喜欢

转载自www.cnblogs.com/LarryBlogger/p/12229070.html