场景:公司最最近在开发二维码支付业务,所以需要做一个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,
width: 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="width: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 支持中文的更多相关文章

  1. jquery.qrcode 生成二维码带logo

    <div id="container">这里是二维码显示位置</div> <script language="JavaScript" ...

  2. 使用jquery.qrcode生成二维码及常见问题解决方案

    转载文章  使用jquery.qrcode生成二维码及常见问题解决方案 一.jquery.qrcode.js介 jquery.qrcode.js 是一个纯浏览器 生成 QRcode 的 jQuery ...

  3. 使用jquery.qrcode生成二维码实现微信分享功能

    前言: 最近有个这样的需求,在pc端的商品详情页增加分享功能. 微博分享.QQ好友分享.QQ空间分享这些都很常见.但是微信分享我还没有手动写过(以前改过). 最终效果如下图: 解决方案:使用jquer ...

  4. C# 生成二维码(带Logo)

    C# 生成二维码(带Logo) 第一种方式 我们需要引用 ThoughtWorks.QRCode.dll  生成带logo二维码(framework4.0以上) 下载地址:https://pan.ba ...

  5. jquery动态生成二维码添加自定义logo

    动态生成二维码中间带logo. jquery.qrcode.js 动态生成二维码api很简单. 引入jquer(版本任意),引入jquery.qrcode.js 不需要中间带logo这样就可以了.带l ...

  6. 使用jquery.qrcode生成二维码(转)

    jQuery 的 qrcode 插件就可以在浏览器端生成二维码图片. 这个插件的使用非常简单: 1.首先在页面中加入jquery库文件和qrcode插件. <script type=" ...

  7. jQuery.qrcode 生成二维码,并使用 jszip、FileSaver 下载 zip 压缩包至本地。

    生成二维码 引用 jquery.qrcode.js  :连接:https://files.cnblogs.com/files/kitty-blog/jquery.qrcode.js .https:// ...

  8. 使用jquery.qrcode生成二维码支持logo,和中文

    /* utf.js - UTF-8 <=> UTF-16 convertion * * Copyright (C) 1999 Masanao Izumo <iz@onicos.co. ...

  9. jquery.qrcode生成二维码支持中文

    基本使用方法: 1.首先在页面中加入jquery库文件和qrcode插件. <script type="text/javascript" src="jquery.j ...

随机推荐

  1. 关于安卓百度地图SDK报错:Multiple dex files define Lcom/baidu/android/bbalbs/common/a/a;

    1.找到.jar包 2.右键,用WinRAR打开 3.打开com/baidu/ 4.保留location,其他全删掉 5.这样将不会报错,可以运行了!!!

  2. Java类的装载过程和静态代码块

    在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载.连接和初始化,其中连接又可以分成校验.准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下: ...

  3. Jmeter-WINDOWS下的配置部署

    前提:已配置安装JDK环境及已部署TOMCAT. 解压apache-jmeter-2.9.zip文件至目录,我的是D:\Program Files目录. 点击我的电脑----属性----高级----环 ...

  4. JavaScript对象之document对象

    DOM对象之document对象 DOM对象:当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. 打开网页后,首先 ...

  5. SICP-1.4-函数设计

    何为好的函数 每个函数只完成一个工作 不要做重复工作 如果你多次复制一段代码块,说明你应该进行函数抽象了 定义一般化函数 避免特例化 函数说明 一般通过三引号说明 help调出函数说明 避免过多的参数 ...

  6. 解决ionic在Android和iOS的一些样式上的冲突

    //设置默认返回按钮的文字 $ionicConfigProvider.backButton.previousTitleText(false).text('返回'); // 设置全局 $http 超时 ...

  7. Feign使用Hystrix无效原因及解决方法

    最近项目重构使用了Spring Boot和Spring Cloud.这两者结合确实给项目带来了方便,同时也遇到了一些问题.其中使用feign作为服务消费,但是断路器hystrix一直不起作用让人很费解 ...

  8. Scheme实现二叉查找树及基本操作(添加、删除、并、交)

    表转化成平衡二叉树 其中有一种分治的思想. (define (list->tree elements) (define (partial-tree elts n) (if (= n 0) (co ...

  9. 简单理解js闭包

    什么是闭包?我们先来看一段代码: function a() { var n = 0; function inc() { n++; console.log(n); } inc(); inc(); } a ...

  10. 高考志愿填报:java 软件 程序员 目前的就业现状

    大约在17年前,也就是2000年,学计算机专业的学生可以有大部分都进入本专业,并且就业非常容易.哪怕只会office套件,想找个工作也很简单.那时候学计算机就是最热门的行业. 那时候,搞Java的还是 ...