您的位置:首页 > 编程语言 > Java开发

zxing实现二维码生成

2017-09-19 22:32 337 查看

前言:

zxing是谷歌的一个开源项目,主要实现的是二维码的生成与解析,属于现在二维码生成与解析使用量最大的工具类。

github地址:https://github.com/zxing/zxing/tree/zxing-3.0.0

这里主要阐述一下关于javaweb实现二维码后台生成传输至前台页面的操作方法:

1. 准备工作

1.1 加入相应jar

zxing.jar,百度搜就会有很多。


1.2 maven(pom.xml配置)

<dependencies>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.29</version>
</dependency>
</dependencies>


2. javaWeb后台以流的形式传到前台页面显示(方法一)

2.1 QRCodeUtil.java工具类

public class QRCodeUtil {
/**
* 生成图像,传出BitMatrix
*
* @throws WriterException
* @throws IOException
*/
public static BitMatrix encode() throws WriterException, IOException {
String url = "http://blog.csdn.net/ink4t";
int width = 200; // 图像宽度
int height = 200; // 图像高度
String format = "png";// 图像类型
Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, width, height, hints);
return  bitMatrix;
}
}


2.2 ZxingController.java —springmvc生成

@Controller
@RequestMappering("/zxing")
public class ZxingController{
public Object getZxing(HttpServletRequest req, HttpServletResponse resp) {
// 调用工具类生成动态二维码,如果需要传入指定参数,链接地址,图片长宽,可以调成一下传入参数
BitMatrix bitMatrix = QRCodeUtil.encode();
MatrixToImageWriter.writeToStream(bitMatrix, "png", resp.getOutputStream());
}
}


如上则可以返回一个二维码的png图片给前台页面。



3. 生成二维码保存在本地

参见:http://blog.csdn.net/javaweiming/article/details/72844581

4. 在二维码上添加上自定义图片

参见:http://www.jianshu.com/p/7ae3b7002530
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二维码 java web