(转)js jquery.qrcode生成二维码 带logo 支持中文

摘要:
场景:该公司最近正在开发二维码支付业务,因此我们需要在HTML5中生成并部署二维码!前天,我们使用js生成二维码,节省了服务器资源和带宽。Qrcode无法生成徽标。本文使用修改后的版本1显示效果2页生成带有徽标的QR码˂!

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

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

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

1 显示效果

(转)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左右的代码

     (转)js jquery.qrcode生成二维码 带logo 支持中文第2张

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

免责声明:文章转载自《(转)js jquery.qrcode生成二维码 带logo 支持中文》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows 7文件权限工具 v1.025、Flask实战第25天:项目结构搭建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

原生JS实现三级联动

代码实现 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>JS的三级联动</title> <style> .js-demo {...

JS 数据转换

转换成字符串类型 toString() var num = 5;console.log(num.toString()); String() String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。比如:undefined和null 拼接字符串方式 num + "",当 + 两边一个操作符是字符串类型,一...

iframe中插入代码并执行

最近有需求通过iframe插入代码。有蛮多方法,如下: 1 var iframe = document.getElementById('previewUrl'); 2 iframe.src = 'about:blank'; 3 iframe.contentWindow.document.body.innerHTML+="12312" 4 iframe.co...

phpcms常用接口调用方法

常用函数 , 打开include/global.func.php,下面存放一些公共函数 view plaincopy to clipboardprint?function str_charset($in_charset, $out_charset, $str_or_arr) //转换字符串或者数组的编码function set_cookie($var, $...

js截取指定长度字符

Code/// <summary> /// 截取指定长度的(中英文)字符 /// </summary>function curStr(str,length) {     var position=0;     var result=[];     for (var i = 0; i < str.length; i++)   ...

使用Python自动填写问卷星(pyppeteer反爬虫版)

写此文的目的是为了方便寒假自己忘记填问卷星 一开始的想法和去年一样,去年就写过一版,想着今年不过就是改改数据,换换id而已,另外没想到的事情发生了。。。 满怀信心的写完代码 from selenium import webdriver import time import random def run(): browser = webdriver...