这两天对微信二维码比较感兴趣,所以就花了点时间学习了一下,下面我将先介绍一下如何解析微信二维码内的信息。
直接上代码:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
import jp.sourceforge.qrcode.data.QRCodeImage;
/**
* 解析二维码
* @author Wdl
*
*/
public class QRDecode {
private static String decode(String qrcodePicfilePath) {
System.out.println("开始解析二维码!!");
/* 读取二维码图像数据 */
File imageFile = new File(qrcodePicfilePath);
BufferedImage image = null;
try {
image = ImageIO.read(imageFile);
} catch (IOException e) {
System.out.println("读取二维码图片失败: " + e.getMessage());
return null;
}
/* 解析二维码 */
QRCodeDecoder decoder = new QRCodeDecoder();
String decodedData = new String(
decoder.decode(new J2SEImageGucas(image)));
System.out.println("解析内容如下:" + decodedData);
return decodedData;
}
public static void main(String[] args) {
QRDecode.decode("D:/test/qr.png");
}
}
class J2SEImageGucas implements QRCodeImage {
BufferedImage image;
public J2SEImageGucas(BufferedImage image) {
this.image = image;
}
public int getWidth() {
return image.getWidth();
}
public int getHeight() {
return image.getHeight();
}
public int getPixel(int x, int y) {
return image.getRGB(x, y);
}
}
很简单,所需jar包及目录文档如下:
运行前,先准备好自己所需要的微信二维码,放在D盘test目录下,运行结果:
这就是微信二维码里面的信息,根据这个信息我们可以生成自己的二维码。
jar包及源码:QRDecode
原文地址:https://blog.csdn.net/u012534326/article/details/53863661