今天分享的是利用Java代码实现二维码的生成和解析。Java代码生成和解析二维码涉及到的东西比较多,还需要引入两个jar包,适合有一定Java功底的人来实现。ok,废话不多说,现在开始分享二维码的生成和解析的经验。


1、下载二维码支持jar包,qrcode.jar和qrcode_swetake.jar,大家可以在网上搜索,也可以点击连接下载我已经使用过的jar包,地址如下:http://download.csdn.net/detail/bakehe/9548373


2、编写生成二维码的Java代码,main方法如下:

IMG_20180418_230517.jpg



3、对应的生成二维码的方法encode(),代码如下:


private static boolean encode(String srcValue, String qrcodePicfilePath){


int MAX_DATA_LENGTH = 200;


byte[] d = srcValue.getBytes();


int dataLength = d.length;


int imageWidth = 113;


int imageHeight = imageWidth;


BufferedImage bi = new BufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB);


Graphics2D g = bi.createGraphics();


g.setBackground(Color.WHITE);


g.clearRect(0, 0, imageWidth, imageHeight);


g.setColor(Color.BLACK);


if (dataLength > 0 && dataLength <= MAX_DATA_LENGTH) {


Qrcode qrcode = new Qrcode();


qrcode.setQrcodeErrorCorrect('M');


qrcode.setQrcodeEncodeMode('B');


qrcode.setQrcodeVersion(5);


boolean[][] b = qrcode.calQrcode(d);


int qrcodeDataLen = b.length;


for (int i = 0; i < qrcodeDataLen; i++) {


for (int j = 0; j < qrcodeDataLen; j++) {


if (b[j][i]) {


g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);


}


}


}


System.out.println("二维码成功生成!!");


} else {


System.out.println( dataLength +"大于"+ MAX_DATA_LENGTH);


return false;


}


g.dispose();


bi.flush();


File f = new File(qrcodePicfilePath);


String suffix = f.getName().substring(f.getName().indexOf(".")+1, f.getName().length());


System.out.println("二维码输出成功!!");


try {


ImageIO.write(bi, suffix, f);


} catch (IOException ioe) {


System.out.println("二维码生成失败" + ioe.getMessage());


return false;


}


return true;


}

转载请注明出处:红色火线加油站!http://hongsehuoxian.com
看到这里如果这篇文章真的帮到你了,不妨打赏一下哦!

以上就是红色火线JAVA加油站整理的关于用JAVA怎么完成二维码图片生成的文章,
希望可以帮到你,如果你有不同的见解可以留言指正哦,避免让别的java小伙伴在走挫折路。
将数据从redis数据库中存储到本地的mysql数据库中
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信