1. 程式人生 > >菜鳥先飛之二維碼zxing生成

菜鳥先飛之二維碼zxing生成

前言 我在上篇文章中講了如何用js快速生成二維碼,這次我們來看看怎麼用zxing工具來生成二維碼。
準備工作 首先去GitHub上下載所需要的zxing的工程檔案檔案。 地址是: https://github.com/zxing/zxing 同樣是找到發行版本,下載zip格式的檔案。
解壓檔案,找到我們所需要的原始檔,然後建立一個java的Projectm,將圖中的兩個資料夾,拷貝到專案中,打成jar包。
開始生成二維碼
首先建立java專案,引入我們剛才打好的jar包。 接下來就直接上程式碼了,簡單粗暴:
package xin.shaojie.zxing;

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

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;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

/** 
* @ClassName: CreateQRCode 
* @Description:  生成QRCode二維碼
* @author CloudLife
* @date 2017年12月21日 下午2:16:38 
*  
*/
public class CreateQRCode {

	public static void main(String[] args) {
		//指定二維碼的寬度和高度
		int width = 300;
		int height = 300;
		//指定二維碼的檔案格式
		String format = "png";
		//指定二維碼的內容
		String content = "http://blog.csdn.net/happy_cloudlife/";
		
		//定義二維碼的引數
		HashMap hints = new HashMap<>();
		//字符集
		hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
		//糾錯等級
		hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
		//二維碼邊距
		hints.put(EncodeHintType.MARGIN, 2);
		
		//捕捉異常
		try {
			BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
			
			MatrixToImageWriter.writeToPath(bitMatrix, format, new File("D:/CloudLife.png").toPath());
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}

我們來看一下生成的結果:
總結 相比js的生成,麻煩的就在下載完zxing的專案打成jar包,如果覺得麻煩可以看一下我寫的jquery-qrcode外掛生成。 傳送門: http://blog.csdn.net/happy_cloudlife/article/details/78864261 另外附上我已經打好的jar:連結:https://pan.baidu.com/s/1miOka2s 密碼:mfoj 我會在後面說明怎麼用zxing解析二維碼。