<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java 生成二維碼實戰(zhàn)

          共 1946字,需瀏覽 4分鐘

           ·

          2022-06-09 07:05

          點擊上方“碼農(nóng)突圍”,馬上關(guān)注

          這里是碼農(nóng)充電第一站,回復(fù)“666”,獲取一份專屬大禮包

          真愛,請設(shè)置“星標(biāo)”或點個“在看”

          簡介
          ZXing?是一個開源 Java 類庫用于解析多種格式的 1D/2D 條形碼。目標(biāo)是能夠?qū)R編碼、Data Matrix、UPC的1D條形碼進行解碼。其提供了多種平臺下的客戶端包括:J2ME、J2SE和Android。
          官網(wǎng):ZXing github倉庫
          實戰(zhàn)
          本例演示如何在一個非 android 的 Java 項目中使用 ZXing 來生成、解析二維碼圖片。
          安裝
          maven項目只需引入依賴:
          <dependency>
          ??<groupId>com.google.zxinggroupId>
          ??<artifactId>coreartifactId>
          ??<version>3.3.0version>
          dependency>
          <dependency>
          ??<groupId>com.google.zxinggroupId>
          ??<artifactId>javaseartifactId>
          ??<version>3.3.0version>
          dependency>
          如果非maven項目,就去官網(wǎng)下載發(fā)布版本:下載地址
          生成二維碼圖片
          ZXing 生成二維碼圖片有以下步驟:
          1. com.google.zxing.MultiFormatWriter?根據(jù)內(nèi)容以及圖像編碼參數(shù)生成圖像2D矩陣。

          2. com.google.zxing.client.j2se.MatrixToImageWriter?根據(jù)圖像矩陣生成圖片文件或圖片緩存?BufferedImage?。

          public?void?encode(String?content,?String?filepath) throws WriterException, IOException {
          ??int width =?100;
          ??int height =?100;
          ??MapObject> encodeHints =?new?HashMapObject>();
          ??encodeHints.put(EncodeHintType.CHARACTER_SET,?"UTF-8");
          ??BitMatrix bitMatrix =?new?MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, encodeHints);
          ??Path path = FileSystems.getDefault().getPath(filepath);
          ??MatrixToImageWriter.writeToPath(bitMatrix,?"png", path);
          }

          解析二維碼圖片

          ZXing 解析二維碼圖片有以下步驟:
          1. 使用?javax.imageio.ImageIO?讀取圖片文件,并存為一個?java.awt.image.BufferedImage對象。
          2. 將?java.awt.image.BufferedImage?轉(zhuǎn)換為 ZXing 能識別的com.google.zxing.BinaryBitmap?對象。
          3. com.google.zxing.MultiFormatReader?根據(jù)圖像解碼參數(shù)來解析com.google.zxing.BinaryBitmap?。
          public?String?decode(String?filepath) throws IOException, NotFoundException {
          ??BufferedImage bufferedImage = ImageIO.read(new?FileInputStream(filepath));
          ??LuminanceSource source =?new?BufferedImageLuminanceSource(bufferedImage);
          ??Binarizer binarizer =?new?HybridBinarizer(source);
          ??BinaryBitmap bitmap =?new?BinaryBitmap(binarizer);
          ??HashMapObject> decodeHints =?new?HashMapObject>();
          ??decodeHints.put(DecodeHintType.CHARACTER_SET,?"UTF-8");
          ??Result result =?new?MultiFormatReader().decode(bitmap, decodeHints);
          ??return?result.getText();
          }


          (完)

          碼農(nóng)突圍資料鏈接

          1、臥槽!字節(jié)跳動《算法中文手冊》火了,完整版 PDF 開放下載!
          2、計算機基礎(chǔ)知識總結(jié)與操作系統(tǒng) PDF 下載
          3、艾瑪,終于來了!《LeetCode Java版題解》.PDF
          4、Github 10K+,《LeetCode刷題C/C++版答案》出爐.PDF

          歡迎添加魚哥個人微信:smartfish2020,進粉絲群或圍觀朋友圈

          瀏覽 66
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91视频 久久 | 免费的18禁的又黄又涩的网站 | 高清无码免费视频在线 | 久久精品一区二区三区不卡牛牛 | 日韩黄色在线电影 |