zoukankan      html  css  js  c++  java
  • (转)js jquery.qrcode生成二维码 带logo 支持中文

    场景:公司最最近在开发二维码支付业务,所以需要做一个html5中的二维码生成和部署!

    前天用js生成二维码,节省服务器资源及带宽

    原版jquery.qrcode不能生成logo,本文采用的是修改版

    1 显示效果

    2 页面

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>生成带有logo的二维码</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--此处需要引入三个JS文件
      一、jquery-1.8.2.js 
      二、excanvas.js
      三、qrcode.js
      顺序要注意,不能乱了顺序;
    -->
    <script src="js/jquery-1.8.2.js" type="text/javascript"></script>
    <script src="js/excanvas.js"></script>
    <script src="js/qrcode.js"></script>
    <script type="text/javascript">
    $(function() {
        $("#bt").bind("click",
            function() {
                    $("#qrcode_div").empty();
                var text = $("#text").val();
                $('#qrcode_div').qrcode({
                    render: 'canvas',
                    text: utf16to8(text),
                    height: 200,
                     200,
                    typeNumber: -1,            //计算模式
                    correctLevel: QRErrorCorrectLevel.M,//纠错等级
                    background: "#ffffff",    //背景颜色
                    foreground: "#000000",    //前景颜色
                    //logo图片地址
             //src: 'http://pic1.cxtuku.com/00/07/42/b03695caf529.jpg'
    src: 'logo.png' }); //console.info("wwww"); } ); }); function utf16to8(str) { //转码 var out, i, len, c; out = ""; len = str.length; for (i = 0; i < len; i++) { c = str.charCodeAt(i); if ((c >= 0x0001) && (c <= 0x007F)) { out += str.charAt(i); } else if (c > 0x07FF) { out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); } else { out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); } } return out; } </script> </head> <body> <input type="text" id="text" value="甜甜,我爱你!" style="200px;"/> <input type="button" value="生成二维码" id="bt" /> <div id="qrcode_div" style="margin-top:10px;"> </div> </body> </html>

    纠错等级:

    QRErrorCorrectLevel.L 7%的字码可被修正

    QRErrorCorrectLevel.M 15%的字码可被修正

    QRErrorCorrectLevel.Q 25%的字码可被修正

    QRErrorCorrectLevel.H 30%的字码可被修正

    jquery-1.8.2.js可采用压缩文件jquery-1.8.2.min.js(自行下载)

    excanvas.js可采用压缩文件excanvas.compiled.js(自行下载)

    项目资源下载地址:

     http://download.csdn.net/detail/cs408/9651615

    友情提醒:

         如果觉得logo图片有点小,修改qrcode.js的48左右的代码

         

         具体怎么改傻瓜都知道,^_^(建议不要太大,不然二维码识别不了)

  • 相关阅读:
    MySQL for Linux错误: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    Git SSH Key 生成步骤
    百度陆奇最新内部演讲:如何成为一个优秀的工程师?
    Apple使用Apache Mesos重建Siri后端服务
    剖析Elasticsearch集群系列第一篇 Elasticsearch的存储模型和读写操作
    ElasticSearch VS Solr
    聊聊基于Lucene的搜索引擎核心技术实践
    如何安全的存储用户密码?
    MySQL 性能管理及架构设计指南
    大牛是怎么思考设计MySQL优化方案
  • 原文地址:https://www.cnblogs.com/lixuwu/p/5952121.html
Copyright © 2011-2022 走看看