java生成二维码是个很常见的需求,代码备忘如下
首先在pom.xml文件中配置maven依赖
<dependency>
<groupId>com.google.zxing
</groupId>
<artifactId>javase
</artifactId>
<version>3.4.0
</version>
</dependency>
java接口代码如下
@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
转载请注明原文地址: https://win8.8miu.com/read-12811.html