1.打开IDEA,点击File,新建Module,选择Maven
然后点击下一步,在Name输入框中给这个模块取个名字即可,点击Finish。
2.在pom.xml配置文件中添加以下依赖:
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--添加二维码生成相关的jar包-->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
</dependencies>
3.在src下的test.java包中新建一个测试类QRCode.java,源代码如下:
import com.alibaba.fastjson.JSONObject;
import com.google.zxing.*;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import org.junit.Test;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
public class QRCodeTest {
@Test
public void creatQRCode() throws WriterException, IOException {
//1.定义json格式字符串,使用fastJson
JSONObject jsonObject = new JSONObject();
//2.把数据存放在json对象中
jsonObject.put("name","xxx");
jsonObject.put("address","xxxxxxxx");
jsonObject.put("major","计算机科学与技术");
jsonObject.put("电话","xxxxxxx");
jsonObject.put("company","https://www.lxrao.com/");
//3.将json对象转换为json格式的字符串
String contest = jsonObject.toString();
//4.定义二维码的规格
int width = 200;int height = 200;
//5.创建Map集合
Map<EncodeHintType,Object> map = new HashMap();
map.put(EncodeHintType.CHARACTER_SET,"UTF-8");
//6.创建位矩阵对象
BitMatrix bitMatrix = new MultiFormatWriter().encode(contest, BarcodeFormat.QR_CODE,width,height,map);
//7.指定生成的路径和文件名
String path = "E://QRCodeImage//";
String filename = "QRCode.jpg";
//8.创建路径对象
Path path1 = FileSystems.getDefault().getPath(path,filename);
//9.将矩阵对象生成为图片格式
MatrixToImageWriter.writeToPath(bitMatrix,"jpg",path1);
System.out.println("生成二维码成功!");
}
}
评论 (0)