java生成二维码代码备忘

it2022-05-05  120

java生成二维码是个很常见的需求,代码备忘如下

首先在pom.xml文件中配置maven依赖
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.4.0</version> </dependency>
java接口代码如下
/** * 生成二维码 * @param content 二维码类型 * @param postfix 二维码图片后缀 * @param width 二维码宽度 * @return * @throws Exception */ @RequestMapping(value = "/qrcode/get", method = RequestMethod.GET) public Map<String, Object> generateQRcode(String content, String postfix, int width) throws Exception { Map<String, Object> rm = new HashMap<>(); Map<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); hints.put(EncodeHintType.MARGIN, 1); QRCodeWriter qrCodeWriter = new QRCodeWriter(); BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, width, width, hints); MatrixToImageConfig matrixToImageConfig = new MatrixToImageConfig(MatrixToImageConfig.BLACK, MatrixToImageConfig.WHITE); BufferedImage rimg = MatrixToImageWriter.toBufferedImage(bitMatrix, matrixToImageConfig); ByteArrayOutputStream os = new ByteArrayOutputStream(); ImageIO.write(rimg, postfix, os); rm.put("data", "data:image/" + postfix + ";base64," + Base64Utils.encodeToString(os.toByteArray())); return rm; }

原创不易,转载请注明出处 — ShiZhongqi



最新回复(0)