最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解使用zxing庫生成QR-Code二維碼

 更新時間:2017年05月03日 14:43:49   作者:阿信sxq  
這篇文章主要介紹了詳解使用zxing庫生成QR-Code二維碼的相關資料,需要的朋友可以參考下

詳解使用zxing庫生成QR-Code二維碼

最近因為一些工作需要,需要根據(jù)實際的信息生成QR-Code二維碼圖片文件,自然想到zxing庫了,具體的代碼很簡單,做個備忘。

首先是引入zxing庫,我是使用maven構(gòu)建項目的,添加依賴:

<dependency>
  <groupId>com.google.zxing</groupId>
  <artifactId>javase</artifactId>
  <version>3.3.0</version>
</dependency>

然后是測試樣列代碼:

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

/**
 * 使用zxing庫生成QRCode二維碼樣例程序
 *
 * @author 阿信sxq
 *
 */
public class QrcodeDemo {

  public static void main(String[] args) {
    new QrcodeDemo().genQrcode("https://my.oschina.net/songxinqiang");
  }

  public void genQrcode(String message) {
    //輸出目標文件
    File file = new File("E:\\qrcode.png");
    if (!file.exists()) {
      try {
        file.mkdirs();
        file.createNewFile();
      } catch (IOException e) {}
    }
    //設置參數(shù),輸出文件
    Map<EncodeHintType, String> hints = new HashMap<>();
    hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
    try {
      BitMatrix bitMatrix = new MultiFormatWriter().encode(message, BarcodeFormat.QR_CODE,
          300, 300, hints);// 生成矩陣
      MatrixToImageWriter.writeToPath(bitMatrix, "png", file.toPath());// 輸出圖像
    } catch (Exception e) {}
  }

}


這里是為了做演示,內(nèi)容直接生成的我空間的地址,并且目標文件也是現(xiàn)在家里使用的windows 的文件位置,在具體實際的使用中需要具體修改。

生成的圖片是:

(調(diào)整過大?。?/p>

在這里需要說明的是,二維碼中的點的大小會隨二維碼文字內(nèi)容的多少自動變化,所以在文字內(nèi)容很多的時候需要把圖片的尺寸調(diào)大,否則點太小了,一般的手機掃描起來很吃力

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • java?Semaphore共享鎖實現(xiàn)原理解析

    java?Semaphore共享鎖實現(xiàn)原理解析

    這篇文章主要為大家介紹了Semaphore共享鎖實現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Java自定義過濾器和攔截器實現(xiàn)ThreadLocal線程封閉

    Java自定義過濾器和攔截器實現(xiàn)ThreadLocal線程封閉

    本文主要介紹了Java自定義過濾器和攔截器實現(xiàn)ThreadLocal線程封閉,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • java中獲取類資源的方法總結(jié)

    java中獲取類資源的方法總結(jié)

    在本篇文章里小編給大家整理的是關于java中獲取類資源的方法總結(jié),需要的朋友們可以學習參考下。
    2020-02-02
  • 提交gRPC-spring-boot-starter項目bug修復的pr說明

    提交gRPC-spring-boot-starter項目bug修復的pr說明

    這篇文章主要介紹了這篇文章主要為大家介紹了gRPC-spring-boot-starter項目提交bug修復的pr的原因說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • RocketMQ NameServer保障數(shù)據(jù)一致性實現(xiàn)方法講解

    RocketMQ NameServer保障數(shù)據(jù)一致性實現(xiàn)方法講解

    這篇文章主要介紹了RocketMQ NameServer保障數(shù)據(jù)一致性實現(xiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 一文讀懂IDEA里面的Artifact到底是什么

    一文讀懂IDEA里面的Artifact到底是什么

    這篇文章主要介紹了IDEA里面的Artifact到底是什么,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-01-01
  • Java數(shù)組的特性_動力節(jié)點Java學院整理

    Java數(shù)組的特性_動力節(jié)點Java學院整理

    數(shù)組是基本上所有語言都會有的一種數(shù)據(jù)類型,它表示一組相同類型的數(shù)據(jù)的集合,具有固定的長度,并且在內(nèi)存中占據(jù)連續(xù)的空間。在C,C++等語言中,數(shù)組的定義簡潔清晰,而在Java中確有一些會讓人迷惑的特性。本文就嘗試分析這些特性
    2017-04-04
  • 一文掌握SpringSecurity?BCrypt密碼加密和解密

    一文掌握SpringSecurity?BCrypt密碼加密和解密

    BCrypt就是一款加密工具,可以比較方便地實現(xiàn)數(shù)據(jù)的加密工作。也可以簡單理解為它內(nèi)部自己實現(xiàn)了隨機加鹽處理,這篇文章主要介紹了SpringSecurity?BCrypt密碼加密和解密,一文學會使用BCryptPasswordEncoder的方法,需要的朋友可以參考下
    2023-04-04
  • 在SpringMVC框架下實現(xiàn)文件的上傳和下載示例

    在SpringMVC框架下實現(xiàn)文件的上傳和下載示例

    本篇文章主要介紹了在SpringMVC框架下實現(xiàn)文件的上傳和下載示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Java中的緩沖流詳細解析

    Java中的緩沖流詳細解析

    這篇文章主要介紹了Java中的緩沖流詳細解析,緩沖流可以分為字節(jié)緩沖流,字符緩沖流,字節(jié)緩沖流可分為字節(jié)輸?入緩沖流,字節(jié)輸出緩沖流,字符緩沖流可以分為字符輸入緩沖流,字符輸出緩沖流,需要的朋友可以參考下
    2023-11-11

最新評論

徐闻县| 诸城市| 那曲县| 静宁县| 红原县| 英吉沙县| 修文县| 卢湾区| 吴川市| 城口县| 吉林省| 富锦市| 乐清市| 安仁县| 杂多县| 霍城县| 昌黎县| 晋州市| 固阳县| 大洼县| 石林| 江西省| 新干县| 宜阳县| 虞城县| 津市市| 平度市| 驻马店市| 封开县| 邵武市| 宁安市| 禄丰县| 济阳县| 镇雄县| 博爱县| 环江| 阳西县| 河源市| 肃北| 济源市| 丘北县|