javascript和java兩種方式實現生成二維碼功能

java實現過程

使用maven工程實現生成二維碼功能

pom.xml文件引入依賴

     <!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.0</version>
        </dependency>

 

java類文件

package com.ltj.Controller;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;

//生成二維碼

public class GetQrCode{


    //二維碼存放地址
    private static final String filePath = "C:\\Users\\Administrator\\Desktop\\";


    public static void main(String[] arg){

        try{

            //二維碼內容
            String contents = "別說話,我愛你!";
            try{
                // 解決中文漢字的字符編碼
                contents = new String(contents.getBytes("UTF-8"), "ISO-8859-1");
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            getQrCodeByInfo(contents,400,400,filePath + "img.png");
        }catch (Exception e1){
            System.out.println("Can not generate Qr Code:" + e1.getMessage());
        }
    }


    //實現二維碼方法

    /**
     *
     * @param text          二維碼內容
     * @param width         二維碼寬度
     * @param height        二維碼高度
     * @param winPath       二維碼存放路徑
     * @throws WriterException
     * @throws IOException
     */
    public static void getQrCodeByInfo(String text,int width,int height,String winPath) throws WriterException,IOException{
        QRCodeWriter writer = new QRCodeWriter();

        BitMatrix bitMatrix = writer.encode(text, BarcodeFormat.QR_CODE,width,height);

        //二維碼存放路徑
        Path path = FileSystems.getDefault().getPath(winPath);

        //將需要的信息轉化爲圖片
        MatrixToImageWriter.writeToPath(bitMatrix,"PNG",path);

    }

}

 

 

 

------------------------------------------------------------------------------------ 

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>二維碼入門Demo</title>
</head>
<body>
<img id="qrious">
<script type="text/javascript" src="../doc/static/js/qrious.js"></script>
<script>
    var qr = new QRious({
        element:document.getElementById('qrious'),
        size:150,
        level:'H',
        value:'hello'
    });
</script>
</body>
</html>

qrious.js文件附送:

鏈接:https://pan.baidu.com/s/1YrcFt-Mkzg0mHTuM3CVi4Q 
提取碼:9q6v 
複製這段內容後打開百度網盤手機App,操作更方便哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章