1、添加依赖
<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.4.1</version> <!-- 请使用最新版本 --> </dependency>
2、编写代码
@Test public void testCode() { String data = "https://www.baidu.com"; // 要存储在QR码中的数据 int width = 300; // QR码的宽度 int height = 300; // QR码的高度 String filePath = "qrcode.png"; // 生成的QR码文件的路径 generateQRCode(data, width, height, filePath); } // 生成QR码的方法 public void generateQRCode(String data, int width, int height, String filePath) { try { Map<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 设置字符编码 hints.put(EncodeHintType.ERROR_CORRECTION, com.google.zxing.qrcode.decoder.ErrorCorrectionLevel.H); // 错误纠正级别 hints.put(EncodeHintType.MARGIN, 1); // 二维码边距 MultiFormatWriter writer = new MultiFormatWriter(); BitMatrix bitMatrix = writer.encode(data, BarcodeFormat.QR_CODE, width, height, hints); // 创建BufferedImage对象来表示QR码 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, bitMatrix.get(x, y) ? Color.BLACK.getRGB() : Color.WHITE.getRGB()); } } // 将QR码保存到文件 File qrCodeFile = new File(filePath); ImageIO.write(image, "png", qrCodeFile); System.out.println("QR码已生成并保存到: " + filePath); } catch (Exception e) { e.printStackTrace(); } }
标签:QR,java,springboot,filePath,int,height,width,二维码,hints From: https://www.cnblogs.com/liubaihui/p/17877384.html