Java使用QRGen類庫生成二維碼

墨爾本_晴發表於2017-06-20

最近專案上需要用到通過掃描二維碼來獲取網頁地址,在這個掃掃更健康的年代,不會使用二維碼你就out啦!QRGen類庫生成二維碼真的很 So Easy,一睹為快。

1.什麼是二維碼

二維碼又稱QR Code,QR全稱Quick Response,是一個近幾年來移動裝置上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的資訊,也能表示更多的資料型別。


二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分佈的黑白相間的圖形記錄資料符號資訊的;在程式碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”位元流的概念,使用若干個與二進位制相對應的幾何形體來表示文字數值資訊,通過圖象輸入裝置或光電掃描裝置自動識讀以實現資訊自動處理:它具有條碼技術的一些共性:每種碼制有其特定的字符集;每個字元佔有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的資訊自動識別功能、及處理圖形旋轉變化點。引自百度百

2.在Maven專案中引入依賴

<!--二維碼依賴-->
        <dependency>
            <groupId>net.glxn.qrgen</groupId>
            <artifactId>javase</artifactId>
            <version>2.0</version>
        </dependency>


3.示例程式碼

/**
 * 測試使用QRGen生成二維碼圖片
 * Created by wl on 2017/6/20 16:14
 */
public class TestQRCode {

    public static void main(String[] args) {
        AbstractQRCode qrCode = QRCode.from("http://www.baidu.com");
        // 設定字符集,支援中文
        qrCode.withCharset("utf-8");
        // 設定生成的二維碼圖片大小
        qrCode.withSize(260,260);
        ByteArrayOutputStream out = qrCode.to(ImageType.PNG).stream();
        File file = new File("D:\\qrCode.png");
        FileOutputStream fout = null;
        try {
            fout = new FileOutputStream(file);
            fout.write(out.toByteArray());
            fout.flush();
            System.out.println("***********二維碼生成成功!**********");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fout.close();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}



生成圖片如下:













相關文章