Google API快速生成QR二维码

现在来说生成二维码最简单的方法是使用Google Chart API来实现,再次膜拜Google大神~

Google Chart API是一套可以让你在线生成报表图的系统,通过URL你可以得到各种图表。
举个例子:你在浏览器中输入

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

你将得到一个内容为本站网址的QR二维图。

回过头来我们再介绍一下二维码……好像这话放的位置不对,你们凑活着看吧……

一、什么是二维码

随着科技的发展,智能手机越来越普及,QR码(二维码)的使用也越来越多了。利用手机的拍照功能,再加上一些QR码识别软件,可以通过二维码来记录一些比较枯燥并不好记的信息,比如说长长的网址。现在很多手机软件下载网站都提供了可视化的下载路径,就是将下载路径做成QR码,让手机用户快速读取QR码中的下载链接转到下载页面。

具体QR码的定义可以查看维基百科的介绍

二、怎样利用Google API生成二维码

现在来说,最简单直接的生成QR码的方法就是通过Google Chart API来实现。先给出个实例,就拿最上面曾列出来那个说吧:

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

我们来分析一下这个链接中的参数:

  1. https://chart.googleapis.com/chart? 这是Google Chart API的头部,直接照抄就好了~
  2. &cht=qr 这是说图表类型为qr也就是二维码。
  3. &chs=200×200 这是说生成图片尺寸为200×200,是宽x高。这并不是生成图片的真实尺寸,应该是最大尺寸吧。
  4. &choe=UTF-8 这是说内容的编码格式为UTF-8,此值默认为UTF-8.其他的编码格式请参考Google API文档
  5. &chld=L|4 L代表默认纠错水平; 4代表二维码边界空白大小,可自行调节。具体参数请参考Google API文档
  6. &chl=XXXX 这是QR内容,也就是解码后看到的信息。包含中文时请使用UTF-8编码汉字,否则将出现问题。
鉴于Google API的文档可能会变化,我把其中关键部分摘录于下:

Root URL: https://chart.googleapis.com/chart?

QR code requests support the following URL query parameters after the ? in the root URL:

Parameter Required or Optional Description
cht=qr Required Specifies a QR code.
chs=<width>x<height> Required Image size.
chl=<data> Required The data to encode. Data can be digits (0-9), alphanumeric characters, binary bytes of data, or Kanji. You cannot mix data types within a QR code. The data must be UTF-8 URL-encoded. Note that URLs have a 2K maximum length, so if you want to encode more than 2K bytes (minus the other URL characters), you will have to send your data using POST.
choe=<output_encoding> Optional How to encode the data in the QR code. Here are the available values:

  • UTF-8 [Default]
  • Shift_JIS
  • ISO-8859-1
chld=<error_correction_level>|<margin> Optional
  • error_correction_level - QR codes support four levels of error correction to enable recovery of missing, misread, or obscured data. Greater redundancy is achieved at the cost of being able to store less data. See the appendix for details. Here are the supported values:

    • L - [Default] Allows recovery of up to 7% data loss
    • M - Allows recovery of up to 15% data loss
    • Q - Allows recovery of up to 25% data loss
    • H - Allows recovery of up to 30% data loss
  • margin - The width of the white border around the data portion of the code. This is in rows, not in pixels. (See below to learn what rows are in a QR code.) The default value is 4.

三、我的QR二维码生成器

昨天晚上花了点功夫自己做了一个可视化的QR二维码生成器,内容比较简单,界面比较简陋,纯粹是为了自己做着玩的。如果你想体验一把生成QR的话,可以来试一试。

QR生成器链接:http://test.codeup.org/CreateQR.html

现在我把CreateQR现在内嵌在这里,原地址在上面↑↑↑↑如果不能显示,请访问上面的链接。

如果你有什么建议的话请联系我。

四、为WordPress中每篇文章QR码

可以为WordPress中的每篇文章地址都生成一个QR码放在旁边,具体代码如下,作为图片插入到文章中就OK了~

1
<img src="https://chart.googleapis.com/chart?cht=qr&chs=150x150&choe=UTF-8&chld=L|4&chl=<?php the_permalink(); ?>" width="150" height="150" alt="QR 码" />

声明:未作说明,则本文为代码至上原创。转载务必注明出处。 
注意:转载须保留全文,如需修改请 联系作者。 
本文永久地址:http://codeup.org/archives/241

Google API快速生成QR二维码的更多相关文章

  1. 借用Google API在线生成网站二维码地址方法

    二维码其实很早就出现了,在国外很多年前就已经在应用了,国内这两年才开始异常的火爆,智能手机的发展,以及微博.微信等移动应用带动了二维码的普及.那么,如果为网址在线生成二维码呢?下面我们就来介绍一下Go ...

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

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

  3. pbfunc外部函数扩展应用-直接在Datawindow中生成QR二维码,非图片方式

    利用pbfunc外部函数在Datawindow中直接生成QR二维码,非图片方式.需要注意以下面几点: Datawindow的DataObject的单位必须为像素(Pixels). Datawindow ...

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

    "索引超出了数组界限"也有可能确实是因为你选择的二维码Version对应的容量不足以存储你所放的内容,如果你确定使用的版本容量二维码能存储你的内容,但还是报错,那么再考虑此解决方法 ...

  5. [AX2012 R3]在SSRS报表中使用QR二维码

    AX2012是自带生成QR二维码的类,可以很方便的用在SSRS报表中,下面演示如何在RDP的报表中使用二维码,首先从定义临时表开始: 字段URL是要用于二维码的字符串,QrCode是container ...

  6. 分享几个在线生成网址二维码的API接口

    现在很多大网站都有这样的一个功能,使用手机扫描一下网页上的二维码便可快速在手机上访问网站.想要实现这样的功能其实很简单,下面麦布分享几个在线生成网址二维码的API接口.都是采用http协议接口,无需下 ...

  7. 推荐六个在线生成网址二维码的API接口

    现在很多大网站都有这样的一个功能,使用手机扫描一下网页上的二维码便可快速在手机上访问网站.想要实现这样的功能其实很简单,下面麦布分享几个在线生成网址二维码的API接口.都是采用http协议接口,无需下 ...

  8. Android应用--QR的生成(二维码)

    二维码的定义: 二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的. 在许多种类的二维条码中,常用的码制 ...

  9. C# vb .NET识别读取QR二维码

    二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付.那么如何在C#,.Net平台代码里读取二维码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确的条形 ...

随机推荐

  1. hdu2955(变形01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 分析:被抓概率可以转换成安全概率,Roy的安全概率大于1-P时都是安全的. 抢劫的金额为0时,肯 ...

  2. Linux Shell脚本入门--grep命令详解

    grep简介<摘自鸟哥,并加以整理.> grep (global search regular expression(RE) and print out the line,全面搜索正则表达 ...

  3. Ubuntu 使用中的问题总结

    1.ibus输入法图标消失 #ibus-daemon -d 2.Ubuntu没有声音 #alsamixer 3.“对不起,ubuntu出现了内部错误” # nano /etc/default/appo ...

  4. Codeforces 4A-Watermelon(意甲冠军)

    A. Watermelon time limit per test 1 second memory limit per test 64 megabytes input standard input o ...

  5. 数据库关于group by 两个或以上条件的分析

    首先group by 的简单说明:    group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:    (1) 出现在select后面的 ...

  6. SVN的CheckOut操作和Export操作的区别

  7. VS调试技巧之附加进程

    用过VS一段时间的程序猿们相信都有过这种调试经历:每次按下F5进行断点调试时,都要等待好长时间:先让解决方式编译通过,然后启动VS自带的简版IIS作为server启动,进而开启浏览器,最后进行对应的操 ...

  8. 图像库---Image Datasets---OpenSift源代码---openSurf源代码

    1.Computer Vision Datasets on the web http://www.cvpapers.com/datasets.html 2.Dataset Reference http ...

  9. JS 在 HTML 中做加减乘除

    <script type="text/javascript"> function fun(t){ var fa = parseInt(document.getEleme ...

  10. HDU2586 How far away ?(LCA模板题)

    题目链接:传送门 题意: 给定一棵树,求两个点之间的距离. 分析: LCA 的模板题目 ans = dis[u]+dis[v] - 2*dis[lca(u,v)]; 在线算法:详细解说 传送门 代码例 ...