使用Qrcode.jar
jar包点击 免费下载
/**
* 生成二维码
* @param content 二维码内容 只能存储字符串(如需打开文件,把文件路径存入即可)
* @param QrcodeSavePath 二维码图片保存路径
* @throws IOException
*/
public void createQrcode(String content, String QrcodeSavePath) throws IOException {
//二维码处理类
Qrcode qrcode = new Qrcode();
//纠错等级(分为L、M、H三个等级)
qrcode.setQrcodeErrorCorrect('M');
//N代表数字,A代表a-Z,B代表其它字符
qrcode.setQrcodeEncodeMode('B');
//版本写死即可
qrcode.setQrcodeVersion(6);
//设置一下二维码的像素
int width = 100;
int height = 100;
//设置右下偏移量
int offset = 10;
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//创建画板 设置样式
Graphics2D gs = bufferedImage.createGraphics();
gs.setBackground(Color.WHITE);
gs.setColor(Color.BLACK);
//清除下画板内容 设置画板大小
gs.clearRect(0, 0, width, height);
//填充二维码
byte[] bytes = content.getBytes("utf-8");
int maxLength = 108;
if (bytes.length < maxLength) {
boolean[][] s = qrcode.calQrcode(bytes);
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < s.length; j++) {
if (s[j][i]) {
gs.fillRect(j * 2 + offset, i * 2 + offset, 2, 2);
}
}
}
}
gs.dispose();
bufferedImage.flush();
//填充完成后返回jpg格式
ImageIO.write(bufferedImage, "jpg", new File(QrcodeSavePath));
}