利用QRCode来解析二维码。在解析二维码之前,首先创建一个MYQRCodeImage接口,该接口用来获取解析对象,包括二维码的高度,宽度和RGB。其代码实现如下:
package chz_qrcode;
import java.awt.image.BufferedImage;
import jp.sourceforge.qrcode.data.QRCodeImage;
public class MYQRCodeImage implements QRCodeImage {
BufferedImage bufferedImage;
public MYQRCodeImage(BufferedImage bufferedImage) {//构造函数,获取解析对象
// TODO Auto-generated constructor stub
this.bufferedImage = bufferedImage;
}
@Override
public int getHeight() {
return bufferedImage.getHeight();
}
@Override
public int getPixel(int arg0, int arg1) {
return bufferedImage.getRGB(arg0, arg1);
}
@Override
public int getWidth() {
return bufferedImage.getWidth();
}
}
创建接口后,就要读取二维码,然后对二维码进行解析:
package chz_qrcode;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
//利用QRCode来解析二维码
public class ReadQRCode {
public static void main(String[] args) throws IOException {
File file = new File("E:/学习笔记/img.png");
BufferedImage bufferedImage = ImageIO.read(file);
QRCodeDecoder codeDecoder = new QRCodeDecoder();
String result = new String(codeDecoder.decode(
new MYQRCodeImage(bufferedImage)),"gb2312");//MYQRCodeImage是创建的接口
System.out.println("二维码的内容是:" + result);
}
}