二维码简介
二维条码/二维码(2-dimensional bar
code,QRCode)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
---- 来自百度百科http://baike.baidu.com/link?url=9q1Mc6pObTbmDwvtEtungEjJutYmW-_EGKIn5J3FCa_YIJ3jei8ZdZSMouVngNFDEiFhYgTHpyf0PDO8QHXRga
Java生成QRCode
Zebra Crossing(ZXing)是一个可以在大多数平台(Android、JavaSE、iPhone、RIM、Symbian)中用来生成、解析QR码的开源库。而QRGen是在ZXing基础上开发,这个库使得利用Java生成QR码变为小菜一碟。它需要依赖ZXing,所以生成图案时你同时需要ZXing和QRGen的jar包。
在pom.xml添加qrcode的依赖:
<dependency> <groupId>net.glxn</groupId> <artifactId>qrgen</artifactId> <version>1.4</version> </dependency> |
然后在Maven Dependencies中会自动下载如下3个jar包:
qrgen-1.4.jar
javase-3.0.0.jar
core-3.0.0.jar
接下来就是写一段Java程序来生成QRCode了,大致说来就是设置好二维码中的内容,然后调用qrgen的API来生成image/png格式的内容,既可以保存为图片文件,还可以在网页上直接显示该QRCode。
Java代码如下所示,QRCode的内容是一个百度的链接:
package com.test.qrcode; import java.io.ByteArrayOutputStream; import net.glxn.qrgen.QRCode; public class QRCodeService try { } |
打开保存的图片文件,就可以看到生成的百度链接的二维码了:
至此,一个简单的Java生成二维码的样例就演示完了,可以借助qrgen的API的强大功能,实现我们特定的需求,例如:在网页中动态为用户生成二维码等。