您的位置:首页 > 其它

QRCode生成二维码和解析二维码

2016-08-20 19:30 344 查看
使用QRCode生成和解析二维码,这个和前面的不一样,只要盗图两个jar(后面上传),即可生成二维码

直接上代码,注释都有

Qrcode qrcode=new Qrcode();
qrcode.setQrcodeErrorCorrect('M');//纠错等级
qrcode.setQrcodeEncodeMode('B');//N代表数字,A代表a-Z,B代表其他
qrcode.setQrcodeVersion(7);//版本
String qrData="www.baidu.com";

//        int width=300;
//        int height=300;

int width=67 + 12*(7-1);
int height=67+12*(7-1);

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[] d=qrData.getBytes("gb2312");

int pixoff=2;//偏移量
if(d.length>0 && d.length<120){
boolean[][] s=qrcode.calQrcode(d);
for (int i=0;i<s.length;i++){
for (int j=0;j<s.length;j++){
if(s[i][j]){
gs.fillRect(j*3+pixoff,i*3+pixoff,3,3);
}
}
}
}
gs.dispose();
bufferedImage.flush();

ImageIO.write(bufferedImage,"png",new File("d:/img2.png"));


显示结果:



使用之前写的解析二维码的也可以解析出结果!解析结果如下:



QRCode解析二维码

File file=new File("d:/img2.png");

BufferedImage bufferedImage=ImageIO.read(file);

QRCodeDecoder qrCodeDecoder=new QRCodeDecoder();

String result=new String(qrCodeDecoder.decode(new MyQRCodeImage(bufferedImage)),"GB2312");

System.out.println("解析结果是:"+result);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二维码