<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.0.0</version>
</dependency>
public class CreateQRCodeUtils {
public static BitMatrix createQRCode(String content) throws WriterException {
int height = 300;
int width = 300;
Map<EncodeHintType,Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.MARGIN,0);
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE,width,height,hints);
return bitMatrix;
}
private static BitMatrix deleteWhite(BitMatrix matrix) {
int[] rec = matrix.getEnclosingRectangle();
int resWidth = rec[2] + 1;
int resHeight = rec[3] + 1;
BitMatrix resMatrix = new BitMatrix(resWidth, resHeight);
resMatrix.clear();
for (int i = 0; i < resWidth; i++) {
for (int j = 0; j < resHeight; j++) {
if (matrix.get(i + rec[0], j + rec[1]))
resMatrix.set(i, j);
}
}
return resMatrix;
}
@Controller
public class CreateQRCodeController {
@RequestMapping(value = "/createQRCode")
public void createQRCode(HttpServletResponse response) throws IOException, WriterException {
response.setContentType("image/jpg");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
ServletOutputStream outputStream = response.getOutputStream();
String content = "www.baidu.com";
BitMatrix qrCode = CreateQRCodeUtils.createQRCode(content);
MatrixToImageWriter.writeToStream(qrCode , "jpg" , outputStream);
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/31a72f81864a49f3886994d1710225e2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54ix56CB5aOrfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
{
function downloadImage(imgsrc, name) {
let image = new Image();
image.setAttribute(“crossOrigin”, “anonymous”);
image.onload = function() {
let canvas = document.createElement(“canvas”);
canvas.width = image.width;
canvas.height = image.height;
let context = canvas.getContext(“2d”);
context.drawImage(image, 0, 0, image.width, image.height);
let url = canvas.toDataURL(“image/jpg”);
let a = document.createElement(“a”);
let event = new MouseEvent(“click”);
a.download = name || “photo”;
a.href = url;
a.dispatchEvent(event);
};
image.src = imgsrc;
}