微信二维码扫一扫的实现

使用java实现微信二维码扫一扫功能,基本步骤如下:

1、打开MyEclipse

2、创建一个WebProject

3 、添加二维码jar包,使用的jar包常用的是QRcode.jar

4、编写代码:

public class QRcodeT {
// 获取二维码对象图处,将content转换为二维码图片,保存到path目录下
public static void getQrcodeImage(String content, String path)
throws Exception {
Qrcode code = new Qrcode();
// 设置纠错能力
// L%7 M%15 Q%25 H%30
code.setQrcodeErrorCorrect('M');
// 二进制模式
code.setQrcodeEncodeMode('B');
// 设置二维码的尺寸,其取值范围为1-40
code.setQrcodeVersion(7);
// 专门对图片进行处理的类BufferedImage
// 创建一个图像缓冲区,图片的宽度、高度、类型
BufferedImage image = new BufferedImage(140, 140,
BufferedImage.TYPE_INT_BGR);

// 绘制二维码的图片,JAVA里的2D技术即使用Graphics2D
Graphics2D g = image.createGraphics();
// 设置二维码矩形区域的背景色,白色
g.setBackground(Color.white);
// 设置矩形的小区域,小点点的大小
g.clearRect(0, 0, 140, 140);
// 二维码的颜色
g.setColor(Color.black);
// 通过一个字节数组的形式
byte[] bt = content.getBytes("gb2312");
// 输出二维码,
// 设置偏移量,若不设置可能会导致解析错误
if (bt.length > 0 && bt.length < 120) { // 不能超过120个字符
// 将二维码的值入到布尔数组中
boolean[][] b = code.calQrcode(bt);
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b.length; j++) {
if (b[j][i]) {
// 根据布尔数据填充图片的格点,绘制矩形,前两数为位置,后两参数为大小
// 其中的2是偏移量
g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);
}
}
}
} else {
System.out.println("出错了,可能您的内容超出了最大限制120个字符!");
}
g.dispose();
image.flush();// 生成二维码后刷新一下
// 以流的方式保存到本地
// 生在二维码图片,使用File指定二码图片保存的路径
File file = new File(path);
// 图像处理的IO流,第一个参数是图片,第二个参数是图片类型,第三个参数是文件流
ImageIO.write(image, "png", file);
System.out.println("生成二维码成功了!");

}

public static void main(String[] args) throws Exception {
// 需要生成的二维码内容既可以是一个字符串,也可以是一个图片的网址扫完后会看到图片
// 文件路径中使用“\\”或使用“/”都可以
getQrcodeImage("我爱你,我的祖国!","d:/QrcodeImage/qrCode.png");
}

}

5、测试运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值