gpt4 book ai didi

基于google zxing的Java二维码生成与解码

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章基于google zxing的Java二维码生成与解码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

 本文实例为大家分享了Java二维码生成与解码的具体代码,供大家参考,具体内容如下 。

1、添加Maven依赖(解码时需要上传二维码图片,所以需要依赖文件上传包) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!-- google二维码工具 -->
<dependency>
  <groupId>com.google.zxing</groupId>
  <artifactId>javase</artifactId>
  <version> 3.1 . 0 </version>
</dependency>
 
<!-- 文件上传 -->
<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version> 1.3 . 1 </version>
</dependency>
<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version> 2.4 </version>
</dependency>

2、创建生成二维码接口(接口参数为二维码内容,通常是URL) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
  * 生成二维码
  * google zxing 实现
  * @param text
  * @return
  */
@RequestMapping (value = "/qrcode/encode" , method = RequestMethod.POST)
public void encodeQrCode(String text, HttpServletResponse response) {
   try {
    // 设置二维码参数
    Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
    hints.put(EncodeHintType.CHARACTER_SET, "UTF-8" );
    BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, 150 , 150 , hints);
    //返回二维码
    MatrixToImageWriter.writeToStream(bitMatrix, "jpg" , response.getOutputStream());
   } catch (Exception e) {
    e.printStackTrace();
   }
}

3、创建二维码解码接口(直接返回解码后的二维码内容) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
  * 二维码图片解码
  * google zxing 实现
  * @param qrImg
  * @return
  */
@RequestMapping (value = "/qrcode/decode" , method = RequestMethod.POST)
public String decodeQrCode(MultipartFile qrImg) {
   if (!qrImg.isEmpty()) {
    try {
      BufferedImage image = ImageIO.read(qrImg.getInputStream());
 
      BinaryBitmap binaryBitmap = new BinaryBitmap( new HybridBinarizer( new BufferedImageLuminanceSource(image)));
 
      // 定义二维码的参数:
      HashMap<DecodeHintType, Object> hints = new HashMap<>();
      // 定义字符集
      hints.put(DecodeHintType.CHARACTER_SET, "utf-8" );
 
      Result result = new MultiFormatReader().decode(binaryBitmap, hints);
 
      return result.getText();
    } catch (Exception e) {
      e.printStackTrace();
    }
   }
 
   return null ;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

最后此篇关于基于google zxing的Java二维码生成与解码的文章就讲到这里了,如果你想了解更多关于基于google zxing的Java二维码生成与解码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com