2019独角兽企业重金招聘Python工程师标准>>>

近来发现随着智能手机越来越普及,QR码(二维码)的使用也越来越多了,如网易应用下载中心、手机游戏下载网站、Google code下载中心、个人博客签名以及外面路上发的各种优惠小卡片里都印上了自己的二维码。

利用手机的拍照功能,再加上一些QR码识别软件,可以通过二维码来记录一些比较枯燥并不好记的信息,比如说长长的网址。很多手机软件下载网站都提供了可视化的下载路径,就是将下载路径做成QR码,让手机用户快速读取QR码中的下载链接转到下载页面。既然这么好用那么下面就做下简单的介绍及如何生成二维码(重点)吧。

一、简介

QR码是二维条码的一种,1994年由日本Denso-Wave公司发明。QR来自英文“Quick Response”的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。QR码最常见于日本,并为目前日本最流行的二维空间条码。QR码比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。

QR码呈正方形,只有黑白两色。在3个角落,印有较小,像“回”字的的正方图案。这3个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度扫描,资料仍可正确被读取。

更多介绍可以参看:http://zh.wikipedia.org/wiki/QR%E7%A2%BC

二、存储

三、生成二维码

1、用Google API快速生成QR码

其实用这个生成二维码很简单,调用以下链接,传入相应的参数就可以获取自己想要的二维码。

https://chart.googleapis.com/chart?cht=qr&chs=200×200&choe=UTF-8&chld=L|4&chl=http://www.lamp100.com

将其放到img的标签里,就可以生成QR码图片了。

链接里的参数说明一下:

https://chart.googleapis.com/chart? 这是Google Chart API的头部,直接照抄就行

  • &cht=qr 这是说图表类型为qr也就是二维码
  • &chs=200×200 这是说生成图片尺寸为200*200,是宽*高,这并不是生成图片的真实尺寸,应该是最大尺寸吧
  • &choe=UTF-8 这是说内容的编码格式为UTF-8,此值默认为UTF-8(其他的编码格式请参考Google API文档)
  • &chld=L|4 L代表默认纠错水平,4代表二维码边界空白大小,可自行调节(具体参数请参考Google API文档)
  • &chl=XXXX 这是QR内容,也就是解码后看到的信息,包含中文时请使用UTF-8编码汉字,否则将出现问题

更详细的可以参考Google API 文档:

http://code.google.com/intl/zh-CN/apis/chart/infographics/docs/qr_codes.html

2、用jQuery QR插件生成QR码

相关插件也不少,这里主要介绍:jquery.qrcode.js ,demo代码如下:

<html>
<head>
<title>basic example</title>
</head>
<body>
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
 
<scripttype="text/javascript"src="http://jeromeetienne.github.com/jquery-qrcode/src/jquery.qrcode.js"></script>
<scripttype="text/javascript"src="http://jeromeetienne.github.com/jquery-qrcode/src/qrcode.js"></script>
 
<divid="qrcode"></div>
<script>
    //jQuery('#qrcode').qrcode("this plugin is great");
    jQuery('#qrcode').qrcode({
        render  : "table",
        text    : "http://jetienne.com"
    });
</script>
 
</body>
</html>

这个插件生成的图片形式有:table 和 canvas 两种,但并没有生成真正的图片,如img标签。table下可能会出错,canvas 部分浏览器不支持。

官方链接:http://jeromeetienne.github.com/jquery-qrcode/

官方DEMO:http://jeromeetienne.github.com/jquery-qrcode/examples/basic.html

3、用PHP的QR类库来生成QR码
  1. 下载地址:http://sourceforge.net/projects/phpqrcode/
  2. 本站演示地址:http://www.lamp100.com/demo/phpqrcode/index.php
  3. 使用说明:

①将下载的phpqrcode-xxx.zip包解压到指定目录

②简单调用即可生成QR码

<?php
//导入qrlib.php 库文件
include"qrlib.php"; 
 
/**
 *调用png 函数
 *@param $data 图片中要包含的文本信息
 *@param $filename 文件名 eg:/data/images/test.png
 *@param $errorCorrectionLevel 错误纠正级别,有四级:L、M、Q、H
 *@param $matrixPointSize 生成的矩阵大小,1到10
 */
 
 QRcode::png($data,$filename,$errorCorrectionLevel,$matrixPointSize, 2);
?>

参考链接:

http://www.cnblogs.com/hooray/archive/2012/02/17/2355560.html

转载于:https://my.oschina.net/mickelfeng/blog/99625

生成QR二维码的多种方法相关推荐

  1. ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法

    ThoughtWorks.QRCode 生成QR二维码时提示"索引超出了数组界限"的原因和解决方法 参考文章: (1)ThoughtWorks.QRCode 生成QR二维码时提示& ...

  2. C# vb .NET生成QR二维码

    二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付.通过将某些数据生成二维码,就可以实现一码走天下.那么如何在C#,.Net平台代码里生成二维码呢?答案是使用SharpBarcode! S ...

  3. 生成QR二维码图片示例

    生成QR二维码图片的简单示例 QR二维码的生成,在生成QR二维条码中已经提及.不过上次是通过网站生成的,缺点是对网站的依赖.下面做了个调用zxing core实现生成QR二维码图片的示例.另外还可以通 ...

  4. Python 生成 QR 二维码

    我们在很多时候都会考虑在程序的某个地方生成 QR 二维码. Python 已经为我们提供了一个比较便捷的库了,这个库就是 qrcode,库的地址为:qrcode · PyPI 你可以使用这个库来生成 ...

  5. QR二维码的攻击方法与防御

    Blackeagle · 2013/07/03 18:59 QR二维码(Quick Response Code)是由日本丰田子公司Denso Wave于1994年发明并开始使用的一种矩阵二维码符号.与 ...

  6. thinkphp用phpqrcode生成二维码(含中间带logo、临时二维码)或生成微信二维码海报的方法

    前期准备: 1.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/ 2.PHP环境必须开启支持GD2扩展库支持(一般情况下都 ...

  7. bugku 二维码题目 多种方法解决、闪的好快、乌云邀请码

    多种方法解决 下载压缩包解压后是个exe文件,无法打开.放入winhex下分析,右边是一串类似base64编码的字符串. 题目提示会得到一个二维码图片,百度了下图片和base64可以转化.用在线工具转 ...

  8. 在web页面上快速生成批量二维码的实用方法

    最近帮同事制作了一个二维码工具,需求是一次性输入多个卡号批量生成二维码并打印.好了,现在我们直接看代码: <!DOCTYPE html> <html><head>& ...

  9. 【Matlab编程实现常见小问题之二】Matlab如何实现QR二维码的生成与识别

    本篇文章中,旨在解决如何用Matlab编程实现QR二维码的生成与识别.编程环境是Matlab2012a,所用的开源库是ZXing,ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目 ...

最新文章

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
  2. tkinter实现进度条
  3. Java常用的集合类
  4. oracle define (hex 26),oracle 特殊字符轉義
  5. 【Python】青少年蓝桥杯_每日一题_7.19_电梯用量
  6. 渠道优化+转化提升+客户成功=业绩驱动引擎
  7. 【Docker】Docker操作常用命令
  8. Oracle中Date和Timestamp的区别
  9. 前端学习(3012):vue+element今日头条管理--axios的create字段
  10. 对未来计算机的畅想初中英语,初中英语期中考试,作文停电一小时,在北京……在上海……在威海…….doc...
  11. wifi弱口令检查(2)
  12. 浅谈软件架构师的工作
  13. 使用OpenCV4Android打开相机
  14. 中国科学院国家授时中心
  15. 面试时如何回答离开上家公司的原因?
  16. xz (压缩文件格式)
  17. android onupgrade调用,Android Sqlite中常见的对于onUpgrade的处理方法
  18. 如果你没空看书,我强烈建议你做这件事!
  19. 在CheckiO上熟悉编程
  20. android多国语言---简写对应国家code

热门文章

  1. Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境
  2. 使用Spring框架的好处
  3. Linux下备份系统
  4. Linux 忘记root密码(记录)
  5. Struts2的概述和入门
  6. Maven项目加载JAR包
  7. SQL获取所有数据库名、表名、储存过程以及参数列表
  8. 基础才是重中之重~何为原子化操作
  9. 思考:行业客户项目中的代理商(国外厂商)
  10. 一个多线程应用的最佳示例