java解析二维码
2015-09-15 21:51
477 查看
http://sourceforge.jp/projects/qrcode/ 下载qrcode.jar
,用于解析二维码。
package demo2;
import java.awt.image.BufferedImage;
import jp.sourceforge.qrcode.data.QRCodeImage;
/**
*
* @Description: 获取图像信息
* @author WEISG
* @date 2015年9月15日 下午9:37:24
*
*/
public class J2SEImageGucas implements QRCodeImage {
BufferedImage image;
public J2SEImageGucas() {
}
public J2SEImageGucas(BufferedImage image) {
this.image = image;
}
@Override
public int getHeight() {
return image.getHeight();
}
@Override
public int getPixel(int x, int y) {
return image.getRGB(x, y);
}
@Override
public int getWidth() {
return image.getWidth();
}
}
package demo2;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
/**
*
* @Description: 二维码工具类
* @author WEISG
* @date 2015年9月15日 下午9:35:22
*
*/
public class QRCodeUtils {
/**
*
* @Description: 解析二维码
* @author WEISG
* @date 2015年9月15日 下午9:33:31
* @param qrcodePicfilePath 二维码文件的路径
* @return
*
*/
public static String decode(String qrcodePicfilePath){
/* 读取二维码图像数据 */
File imageFile = new File(qrcodePicfilePath);
BufferedImage image = null;
try {
image = ImageIO.read(imageFile);
} catch (IOException e) {
System.out.println("Decoding failed, read QRCode image error: " + e.getMessage());
return null;
}
/* 解二维码 */
QRCodeDecoder decoder = new QRCodeDecoder();
String decodedData = new String(decoder.decode(new J2SEImageGucas(image)));
return decodedData;
}
public static void main(String[] args) {
QRCodeDecoder decoder = new QRCodeDecoder();
File imageFile = new File("F:/wbsj/qrcorde/201509152144429552.png");
BufferedImage image = null;
try {
image = ImageIO.read(imageFile);
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
}
System.out.println("识别二维码:");
String decodedData = new String(decoder.decode(new J2SEImageGucas(image)));
System.out.println(decodedData);
}
}
,用于解析二维码。
package demo2;
import java.awt.image.BufferedImage;
import jp.sourceforge.qrcode.data.QRCodeImage;
/**
*
* @Description: 获取图像信息
* @author WEISG
* @date 2015年9月15日 下午9:37:24
*
*/
public class J2SEImageGucas implements QRCodeImage {
BufferedImage image;
public J2SEImageGucas() {
}
public J2SEImageGucas(BufferedImage image) {
this.image = image;
}
@Override
public int getHeight() {
return image.getHeight();
}
@Override
public int getPixel(int x, int y) {
return image.getRGB(x, y);
}
@Override
public int getWidth() {
return image.getWidth();
}
}
package demo2;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
/**
*
* @Description: 二维码工具类
* @author WEISG
* @date 2015年9月15日 下午9:35:22
*
*/
public class QRCodeUtils {
/**
*
* @Description: 解析二维码
* @author WEISG
* @date 2015年9月15日 下午9:33:31
* @param qrcodePicfilePath 二维码文件的路径
* @return
*
*/
public static String decode(String qrcodePicfilePath){
/* 读取二维码图像数据 */
File imageFile = new File(qrcodePicfilePath);
BufferedImage image = null;
try {
image = ImageIO.read(imageFile);
} catch (IOException e) {
System.out.println("Decoding failed, read QRCode image error: " + e.getMessage());
return null;
}
/* 解二维码 */
QRCodeDecoder decoder = new QRCodeDecoder();
String decodedData = new String(decoder.decode(new J2SEImageGucas(image)));
return decodedData;
}
public static void main(String[] args) {
QRCodeDecoder decoder = new QRCodeDecoder();
File imageFile = new File("F:/wbsj/qrcorde/201509152144429552.png");
BufferedImage image = null;
try {
image = ImageIO.read(imageFile);
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
}
System.out.println("识别二维码:");
String decodedData = new String(decoder.decode(new J2SEImageGucas(image)));
System.out.println(decodedData);
}
}
相关文章推荐
- Java基础---多线程
- JAVA Date.before() 的一个小bug
- Struts2 API的chm格式帮助文档制作教程
- 错误:类型List不带有参数;java中import导入问题
- 从零开始学java(一)--写作目的及java语言概述
- java 多参数与this
- java关键字transient与volatile小结
- 使用netbeans实现一个简易计算器
- 队列-java代码
- 用net beans 学 java
- 【学习日记】java反射的知识点总结
- 策略模式
- 栈-java代码
- Java Web Servlet基础
- Java语言的基础语法(一)
- 单例设计模式-java
- 细说JDK动态代理的实现原理
- java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处
- Java中的类
- java__静态导入,可变参数,枚举