一、准备工作
下载jar包:http://www.swetake.com/qrcode/
二、代码呈现
package com.test.demo1;
import com.swetake.util.*;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
/**
* 使用QR Code,二维码的产生于解析
*/
public class Qecode {
public static void main(String[] args)throws Exception{
Qrcode x=new Qrcode();
x.setQrcodeErrorCorrect('M'); //纠错等级:M、L、H、Q
x.setQrcodeEncodeMode('B'); //代表数字,A代表a-Z字符,B代表其他字符
x.setQrcodeVersion(7); //版本号
int width = 67 + 12 *(7-1); //固定公式,使内容与外框保持同步
int height = 67 + 12 *(7-1);
String qrData="http://www.baidu.com"; //定义内容
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); //清除原来的内容
int pixoff = 2; //增加偏移量
//往面板中填充内容
byte[] d =qrData.getBytes("gb2312");
if (d.length>0 && d.length <120){
boolean[][] s = x.calQrcode(d);
for (int i=0;i<s.length;i++){
for (int j=0;j<s.length;j++){
if (s[j][i]) {
gs.fillRect(j*3+pixoff,i*3+pixoff,3,3);
}
}
}
}
gs.dispose(); //结束流操作
bufferedImage.flush();
//打印图像
ImageIO.write(bufferedImage,"png",new File("I:/SummerTest/test.png"));
}
}
以上程序已验证!