激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 基于google zxing的Java二維碼生成與解碼

基于google zxing的Java二維碼生成與解碼

2020-12-06 15:34二十六度半 Java教程

這篇文章主要為大家詳細(xì)介紹了基于google zxing的Java二維碼生成與解碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

 本文實(shí)例為大家分享了Java二維碼生成與解碼的具體代碼,供大家參考,具體內(nèi)容如下

一、添加Maven依賴(解碼時(shí)需要上傳二維碼圖片,所以需要依賴文件上傳包)

?
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>

二、創(chuàng)建生成二維碼接口(接口參數(shù)為二維碼內(nèi)容,通常是URL)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 * 生成二維碼
 * google zxing 實(shí)現(xiàn)
 * @param text
 * @return
 */
@RequestMapping(value = "/qrcode/encode", method = RequestMethod.POST)
public void encodeQrCode(String text, HttpServletResponse response) {
  try {
   // 設(shè)置二維碼參數(shù)
   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();
  }
}

三、創(chuàng)建二維碼解碼接口(直接返回解碼后的二維碼內(nèi)容)

?
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 實(shí)現(xiàn)
 * @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)));
 
     // 定義二維碼的參數(shù):
     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;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
369
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 一区二区三区视频播放 | 青草久久久久 | 久久免费视频1 | 久久久久二区 | 欧美性生活免费视频 | 欧美视频网 | 欧美另类69xxxxx 视频 | 毛片免费视频在线观看 | 欧美一级无毛 | 日韩精品99久久久久久 | 免费毛片儿 | 久久久久久久久亚洲精品 | av黄色在线免费观看 | 亚洲网在线观看 | 日本成年免费网站 | 不卡一区二区三区视频 | 国产成人综合在线视频 | 色淫网站免费视频 | 久久精品亚洲欧美日韩精品中文字幕 | 久久精品一二三区白丝高潮 | 久久久一区二区三区四区 | 黄色一级电影网 | 亚洲性综合网 | 色女人在线 | 美女亚洲综合 | 久久精品视频69 | 免费一区区三区四区 | av手机在线免费播放 | 依人九九宗合九九九 | 九九热视频在线免费观看 | 香蕉久草在线 | 婷婷久久综合九色综合色多多蜜臀 | 国产四区 | 一本色道久久综合狠狠躁篇适合什么人看 | 欧美成人性生活片 | 在线观看国产网站 | 99亚洲伊人久久精品影院红桃 | 国产色视频一区 | 久久国产精品久久精品国产演员表 | 女人一级一级毛片 | 热99在线视频 |