微信二維碼的製作
阿新 • • 發佈:2018-12-04
1.匯入pom中的jar包
<!-- https://mvnrepository.com/artifact/com.google.zxing/core --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.google.zxing/javase --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.3</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
2.編寫一個類,核心程式碼BitMatrix bitMatrix=new MultiFormatWriter().encode(json, BarcodeFormat.QR_CODE, width, height,hits);建立一個矩陣物件
package com.QRcode; import java.io.IOException; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Path; import java.text.Format; import java.util.HashMap; import java.util.Map; import org.junit.Test; import com.alibaba.fastjson.JSONObject; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; public class QRcode { @Test public void GenerateQRcode() throws WriterException, IOException{ JSONObject jsonObject=new JSONObject(); jsonObject.put("company", "com.baidu.cn"); jsonObject.put("author", "lxl"); jsonObject.put("address", "江西省吉安市"); // json物件轉化為json格式的字串 String json=jsonObject.toString(); System.out.println(json); // 建立寬高 int width=200; int height=200; // 建立map集合 Map<EncodeHintType, Object> hits=new HashMap<EncodeHintType, Object>(); hits.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 建立一個矩陣物件 BitMatrix bitMatrix=new MultiFormatWriter().encode(json, BarcodeFormat.QR_CODE, width, height,hits); String filename="D://"; String filepath="QRcode.jpg"; Path path=FileSystems.getDefault().getPath(filename,filepath); // 將矩陣物件生成一個圖片 MatrixToImageWriter.writeToPath(bitMatrix, "jpg", path); System.out.println("生成二維碼"); } }