使用前提
自己搭建一个springboot 项目 将代码引入即可使用
测试用例
import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.mon.BitMatrix;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.util.Hashtable;/*** @Author 李汶璋* @Date*/public class TestDemo {private static final int BLACK = 0xFF000000;private static final int WHITE = 0xFFFFFFFF;public static void main(String[] args) throws Exception {String text = "/";//这里是URL ,扫描之后就跳转到这个界面String path = "D:/";int width = 900;int height = 900;// 二维码图片格式String format = "gif";// 设置编码,防止中文乱码Hashtable<EncodeHintType, Object> ht = new Hashtable<EncodeHintType, Object>();ht.put (EncodeHintType.CHARACTER_SET, "UTF-8");// 设置二维码参数(编码内容,编码类型,图片宽度,图片高度, 编码格式)BitMatrix bitMatrix = new MultiFormatWriter().encode (text, BarcodeFormat.QR_CODE, width, height, ht);// 生成二维码(定义二维码输出服务器路径)File outputFile = new File (path);if (!outputFile.exists ()){//创建文件夹outputFile.mkdir ();}int b_width = bitMatrix.getWidth ();int b_height = bitMatrix.getHeight ();// 建立图像缓冲器BufferedImage image = new BufferedImage (b_width, b_height, BufferedImage.TYPE_3BYTE_BGR);for ( int x = 0; x < b_width; x++ ){for ( int y = 0; y < b_height; y++ ){image.setRGB (x, y, bitMatrix.get (x, y) ? BLACK : WHITE);}}// 生成二维码ImageIO.write (image, format, new File (path + "/qrcode." + format));}}
pom依赖
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.4.1</version></dependency>