zxing实现二维码生成

来源:互联网 发布:飞鹰网络电视直播软件 编辑:程序博客网 时间:2024/05/25 21:34

前言:

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

原创粉丝点击