转: jquery.qrcode.js生成二维码插件&转成图片格式
原文地址: https://blog.csdn.net/u011127019/article/details/51226104
1.qrcode其实是通过使用jQuery实现图形渲染,画图,支持canvas(HTML5)和table两种方式,
github源码地址:
https://github.com/jeromeetienne/jquery-qrcode
参数说明:
- render : "canvas",//设置渲染方式
- width : 256, //设置宽度
- height : 256, //设置高度
- typeNumber : -1, //计算模式
- correctLevel : QRErrorCorrectLevel.H,//纠错等级
- background : "#ffffff",//背景颜色
- foreground : "#000000" //前景颜色
2.使用实例:
插件引用
- <script src="../Js/jquery-1.11.3.min.js"></script>
- <script src="../Js/jquery-qrcode-master/jquery.qrcode.min.js"></script>
简单实例1:
- <div id="code"></div>
- <script>
- //任意字符串 生成二维码
- //默认使用Canvas画图
- $('#code').qrcode('http://blog.csdn.net/u011127019');
- </script>

简单实例2:
- <div id="code"></div>
- <script>
- //table 模式兼容 IE低版本
- $('#code').qrcode({
- render: 'table',
- width: 100,
- height: 100,
- text: 'http://blog.csdn.net/u011127019'
- });
10. </script>
简单实例3(中文支持):
我们试验的时候发现不能识别中文内容的二维码,通过查找多方资料了解到,jquery-qrcode是采用charCodeAt()方式进行编码转换的。而这个方法默认会获取它的Unicode编码,如果有中文内容,在生成二维码前就要把字符串转换成UTF-8,然后再生成二维码。
- <div id="code"></div>
- <script>
- //如果内容中有中文,在生成二维码钱就要把字符串转换成utf-8
- function toUtf8(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;
- }
- $('#code').qrcode({
- text: toUtf8('我是tianma'),
- width: 150,
- height: 150
- });
- //就目前 微信/支付宝等 不识别其他颜色的二维码
- $('#code').qrcode({
- text: toUtf8('我是tianma'),
- width: 150,
- height: 150,
- background: '#f00',
- foreground: '#0f0'
- });
38. </script>
实例4:
- //text 属性的值长度不能太长,最大字节数 10208
- //text 字符串太长 微信/支付宝等扫一扫无法识别,微博识别内容更多
- //微博扫一扫:大约200 字以内,微信扫一扫:大约 160字以内,支付宝扫一扫:大约130字符以内
- $('#code').qrcode({
- text: toUtf8('SignalR 是 ASP.NET 团队正在开发的一个 Microsoft .NET Framework 库和 jQuery 插件,可能包括在以后版本的 ASP.NET 平台中。 它提供了一些前景极为光明的功能,而这些功能正是,并且是越来越多的,当前不曾具有的,'),
- width: 150,
- height: 150
- });


实例5,将生成的二维码转换成图片格式:
- <div id="divOne"></div>
- <img id='imgOne' style='border:1px solid red;'/>
- <script>
- //默认使用Canvas生成,并显示到图片
- var qrcode= $('#divOne').qrcode('http://www.gongjuji.net/').hide();
- var canvas=qrcode.find('canvas').get(0);
- $('#imgOne').attr('src',canvas.toDataURL('image/jpg'))
- </script>
显示结果:
实例6,在当前的图片上添加文字或logo处理:
- //默认使用Canvas画图
- var qrcode = $('#code').qrcode({
- text: '@url',
- width: 400,
- height: 400
- }).hide();
- //添加文字
- var text = "测试文字内容";//设置文字内容
- var canvas = qrcode.find('canvas').get(0);
- var oldCtx = canvas.getContext('2d');
- var imgCanvas = document.getElementById('imgCanvas');
- var ctx = imgCanvas.getContext('2d');
- ctx.fillStyle = 'white';
- ctx.fillRect(0,0,imgCanvas.width,imgCanvas.height);
- ctx.putImageData(oldCtx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);
- ctx.fillStyle = 'red';
- ctx.strokStyle = 'rgb(1,1,0)';
- //ctx.stroke = 3;
- ctx.textBaseline = 'middle';
- ctx.textAlign = 'center';
- ctx.font = 'bolder 30px Helvetica';
- ctx.fillText(text, imgCanvas.width / 2, imgCanvas.height - 20);
- ctx.strokeText(text, imgCanvas.width / 2, imgCanvas.height - 20);
- imgCanvas.style.display = 'none';
- $('#imgCode').attr('src', imgCanvas.toDataURL('image/png')).css({
- maxWidth:300
- });

转: jquery.qrcode.js生成二维码插件&转成图片格式的更多相关文章
- 使用jquery.qrcode.js生成二维码
通常生成二维码的方式有两种:第一种是java代码的形式,第二种是通过Js方式. 在这里我做个记录,用js生成二维码,可以在官网下载源码:http://jeromeetienne.github.io/j ...
- jquery.qrcode.js生成二维码(前端生成二维码)
官网地址:http://jeromeetienne.github.io/jquery-qrcode/ 第一步引入插件: <script type='text/javascript' src='h ...
- jquery.qrcode.js 生成二维码并支持中文的方法
GitHub地址: https://github.com/jeromeetienne/jquery-qrcode <div class="QR"></div> ...
- jquery.qrcode.js生成二维码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js生成二维码并保存成图片下载
我这里使用是jQuery,和jquery.qrcode.js,需要的可以自己找链接下载.示例代码仅做参考 html代码: <a id="downloadLink">&l ...
- QRCode.js生成二维码
QRCode的GitHub地址: https://github.com/KeeeX/qrcodejs 该版本解决了主版本(https://github.com/davidshimjs/qrcodejs ...
- qrcode.js生成二维码因字符串过长而报错
前端使用qrcode.js生成二维码的时候.有时候是会出现 qrcode length overflow (1632>1056) 目前使用的有效的解决办法是重新下载新版的qrcode.js 下载 ...
- 利用vcard和qrcode.js生成二维码导入联系人
vCard是一种容许交换个人信息的数据规范,vCard数据格式的标识符是VCARD,vCard数据格式行是: 类型 [;参数]:值,具体的介绍百度都有,我们可以通过vcard来进行通讯录的保存,名片的 ...
- 【QRcode二维码】:使用JS前端插件QRcode.js生成二维码
1.先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取), qrcode.js 是实现二 ...
随机推荐
- 如何查看yum 安装的软件路径
1.首先安装一个redis [root@iZbp1eem925ojwyx17ao9kZ ~]# yum install redis 2.查找redis的安装包 [root@iZbp1eem925ojw ...
- (转)区分LTE,EPS,EPC和SAE
LTE:Long Term Evolution长期演进,是无线接口部分向4G演进的工作项目. 3GPP:The 3Rd Generation Partnership Project,第三代合作伙伴计划 ...
- 汽车车牌JS正则表达式验证(含新能源车牌)
/** * 第一:普通汽车 * 车牌号格式:汉字 + A-Z + 5位A-Z或0-9( 车牌号不存在字母I和O防止和1.0混淆) * (只包括了普通车牌号,教练车,警等车牌号 .部分部队车,新能源不包 ...
- remmina从linux远程桌面连接windows失败解决方法
删除如下文件,重新连接 rm ~/.freerdp/known_hosts
- system 系统调用、gcc编译过程
system 库函数的功能是执行操作系统的命令或者运行指定的程序 #include <stdio.h> #include <stdlib.h>//引入库 int main() ...
- 【LeetCode】2. Add Two Numbers 两数相加
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- Java 9 - Java Number类
Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 实例 int i = 5000; float gpa = 13.65 ...
- CS229 6.14 Neurons Networks Restricted Boltzmann Machines
1.RBM简介 受限玻尔兹曼机(Restricted Boltzmann Machines,RBM)最早由hinton提出,是一种无监督学习方法,即对于给定数据,找到最大程度拟合这组数据的参数.RBM ...
- 并发编程:IO多路复用。
一 IO模型: Stevens在文章中一共比较了五种IO Model: * blocking IO#阻塞模型 * nonblocking IO#非阻塞 * IO multiplexing#多路复用 ...
- [ZJOI2015]诸神眷顾的幻想乡(广义后缀自动机)
/* 题目中的神仙性质真的是令人愉悦 因为我一眼看成了每个点的度数不超过二十, 心想这他喵的和字符串什么关系 统计树上不同子串个数, 按道理直接dfs n次把所有的串插到后缀自动机里就行了 但是我们发 ...