最近项目上需要用到通过扫描二维码来获取网页地址,在这个扫扫更健康的年代,不会使用二维码你就out啦!QRGen类库生成二维码真的很 So Easy,一睹为快。
1.什么是二维码
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。引自百度百科
2.在Maven项目中引入依赖
<!--二维码依赖-->
<dependency>
<groupId>net.glxn.qrgen</groupId>
<artifactId>javase</artifactId>
<version>2.0</version>
</dependency>
3.示例代码
/**
* 测试使用QRGen生成二维码图片
* Created by wl on 2017/6/20 16:14
*/
public class TestQRCode {
public static void main(String[] args) {
AbstractQRCode qrCode = QRCode.from("http://www.baidu.com");
// 设置字符集,支持中文
qrCode.withCharset("utf-8");
// 设置生成的二维码图片大小
qrCode.withSize(260,260);
ByteArrayOutputStream out = qrCode.to(ImageType.PNG).stream();
File file = new File("D:\\qrCode.png");
FileOutputStream fout = null;
try {
fout = new FileOutputStream(file);
fout.write(out.toByteArray());
fout.flush();
System.out.println("***********二维码生成成功!**********");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fout.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
生成图片如下: