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
本文介绍了一种使用Java解析二维码的方法,通过具体的代码示例展示了如何读取二维码图像并解析其内容。文中提供了一个完整的Java类QRDecode,该类能够从指定路径加载二维码图片并返回其包含的数据。
947

被折叠的 条评论
为什么被折叠?



