java生成二维码代码java如何生成二维码
http://www.zftb.cn  发布时间:2015-02-10 14:40 来源:一起学编程网 浏览:加载中

java生成二维码代码,java如何生成二维码

String content = “www.zftb.cn一起学编程网”;

 try {

Qrcode qrcodeHandler = new Qrcode();

qrcodeHandler.setQrcodeErrorCorrect('M');

qrcodeHandler.setQrcodeEncodeMode('B');

qrcodeHandler.setQrcodeVersion(7);

byte[] contentBytes = content.getBytes("gb2312");

BufferedImage bufImg = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

Graphics2D gs = bufImg.createGraphics();

gs.setBackground(Color.WHITE);

 

gs.clearRect(0, 0, width, height);

// 设定图像颜色 > BLACK  

gs.setColor(Color.BLACK);

// 设置偏移量 不设置可能导致解析出错  

int pixoff = 2;

// 输出内容 > 二维码  

if (contentBytes.length > 0 && contentBytes.length < 120) {

boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);

for (int i = 0; i < codeOut.length; i++) {

for (int j = 0; j < codeOut.length; j++) {

if (codeOut[j][i]) {

gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);

}

}

}

} else {

 

LOG.error("二维码生成失败!" +"QRCode content bytes length = " + contentBytes.length + " not in [ 0,120 ]. ");

System.err.println("QRCode content bytes length = " + contentBytes.length + " not in [ 0,120 ]. ");

}

gs.dispose();

bufImg.flush();

// 生成二维码QRCode图片  

// 禁止图像缓存。

resp.setHeader("Pragma", "no-cache");

 

resp.setHeader("Cache-Control", "no-cache");

resp.setDateHeader("Expires", 0);

resp.setContentType("image/png");

// 将图像输出到Servlet输出流中。

ServletOutputStream sos = resp.getOutputStream();

ImageIO.write(bufImg, "png", sos);

LOG.info("二维码已生成!");

 

} catch (Exception e) {

LOG.error("二维码生成失败!" + e.getMessage());

e.printStackTrace();

}

 

 

 

 

如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!