注意:需要下载QRCode.jar包
下载地址:链接:https://pan.baidu.com/s/1xasgAYZ20bcMm2Tr0C614A 密码:gmd0【百度网盘】
代码
package com.tz.util;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.imageio.ImageIO;
public class Qrcode {
// 创建一个生成二维码的方法
public static void getQrcodeImg(String content, String imgPath) {
/*
* 二维码基本信息设置
*/
// 实例化一个对象
com.swetake.util.Qrcode qrcode = new com.swetake.util.Qrcode();
// 设置二维码的排错率,M15%的空间用于存放错误信息的,Q25% L7% H30%
qrcode.setQrcodeErrorCorrect('M');
// 编码
qrcode.setQrcodeEncodeMode('B');
// 二维码的版本
qrcode.setQrcodeVersion(15);
/*
* 开始绘制二维码
*/
// 创建画板
int width = 235;
int height = 235;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D gs = image.createGraphics();
// 设置背景色
gs.setBackground(Color.white);
// 设置绘制区域
gs.clearRect(0, 0, width, height);
// 设置画笔的颜色
gs.setColor(Color.black);
// 开始绘制
try {
// 将信息存储在数组里
byte[] codeOut;
codeOut = content.getBytes("utf-8");
boolean[][] code = qrcode.calQrcode(codeOut);
// 拿到二维数组里面的内容
for (int i = 0; i < code.length; i++) {
for (int j = 0; j < code.length; j++) {
if (code[j][i]) {// 判断信息真假,如果为真,绘制
gs.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);
}
}
}
gs.dispose();// 释放资源
image.flush();
// 保存
try {
ImageIO.write(image, "png", new File(imgPath));
System.out.println("二维码生成成功!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 主函数 程序入口
public static void main(String[] args) {
getQrcodeImg("hello world!", "D:\\test.png");
}
}
运行结果:
也可以将getQrcodeImg(String content, String imgPath)
content写成url,
如“http://www.baidu.com”
扫描二维码就会进入百度首页。
也可以写成图片的地址,访问后就会看到图片。
https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1535522209&di=703c8aa08d175d5b0ba98e264efc34ac&src=http://club2.autoimg.cn/album/g14/M0A/54/A9/userphotos/2016/04/13/12/500_wKgH5FcNyzKAYD8UAAGEvCGaNuU884.jpg