zxing解码在线二维码解码的最低像素

Java实现二维码QRCode的编码和解码 -
- ITeye技术网站
博客分类:
blog迁移至
周末试用下Android手机的二维码扫描软件,扫描了下火车票、名片等等,觉得非常不错很有意思的。当然Java也可以实现这些,现在就分享下如何简单用Java实现二维码中QRCode的编码和解码(可以手机扫描验证)。
涉及到的一些主要类库,方便大家下载:
编码 lib:
(官网介绍 -- /qr/index-e.html)
解码 lib:
(官网介绍 -- http://sourceforge.jp/projects/qrcode/)
后来发现一个更好的条形码和二维码的开源软件(ZXing),详细介绍见
【一】、编码:
QRCodeEncoderHandler.java
package michael.
import java.awt.C
import java.awt.Graphics2D;
import java.awt.image.BufferedI
import java.io.F
import javax.imageio.ImageIO;
import com.swetake.util.Q
* 二维码生成器
* @author Michael
public class QRCodeEncoderHandler {
* 生成二维码(QRCode)图片
* @param content
* @param imgPath
public void encoderQRCode(String content, String imgPath) {
Qrcode qrcodeHandler = new Qrcode();
qrcodeHandler.setQrcodeErrorCorrect('M');
qrcodeHandler.setQrcodeEncodeMode('B');
qrcodeHandler.setQrcodeVersion(7);
System.out.println(content);
byte[] contentBytes = content.getBytes("gb2312");
BufferedImage bufImg = new BufferedImage(140, 140,
BufferedImage.TYPE_INT_RGB);
Graphics2D gs = bufImg.createGraphics();
gs.setBackground(Color.WHITE);
gs.clearRect(0, 0, 140, 140);
// 设定图像颜色 & BLACK
gs.setColor(Color.BLACK);
// 设置偏移量 不设置可能导致解析出错
int pixoff = 2;
// 输出内容 & 二维码
if (contentBytes.length & 0 && contentBytes.length & 120) {
boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);
for (int i = 0; i & codeOut. i++) {
for (int j = 0; j & codeOut. j++) {
if (codeOut[j][i]) {
gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
System.err.println("QRCode content bytes length = "
+ contentBytes.length + " not in [ 0,120 ]. ");
gs.dispose();
bufImg.flush();
File imgFile = new File(imgPath);
// 生成二维码QRCode图片
ImageIO.write(bufImg, "png", imgFile);
} catch (Exception e) {
e.printStackTrace();
* @param args the command line arguments
public static void main(String[] args) {
String imgPath = "D:/test/twocode/Michael_QRCode.png";
String content = "Hello 大大、小小,welcome to QRCode!"
+ "\nMyblog [
+ "\nEMail [
]" + "\nTwitter [ @suncto ]";
QRCodeEncoderHandler handler = new QRCodeEncoderHandler();
handler.encoderQRCode(content, imgPath);
System.out.println("encoder QRcode success");
运行后生成的二维码图片如下:
此时就可用手机的二维码扫描软件(本人用的:android 快拍二维码
)来测试下,识别成功的截图如下:
喜欢的朋友可以下载后试一试,做一些名片或者自己喜欢的东西。当然Java也可以对二维码图片解码,具体看下面关于解码的内容。
【二】、解码:
QRCodeDecoderHandler.java
package michael.
import java.awt.image.BufferedI
import java.io.F
import java.io.IOE
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeD
import jp.sourceforge.qrcode.data.QRCodeI
import jp.sourceforge.qrcode.exception.DecodingFailedE
* @author Michael
public class QRCodeDecoderHandler {
* 解码二维码
* @param imgPath
* @return String
public String decoderQRCode(String imgPath) {
// QRCode 二维码图片的文件
File imageFile = new File(imgPath);
BufferedImage bufImg =
String decodedData =
bufImg = ImageIO.read(imageFile);
QRCodeDecoder decoder = new QRCodeDecoder();
decodedData = new String(decoder.decode(new J2SEImage(bufImg)));
// System.out.println(new String(decodedData.getBytes("gb2312"),
// "gb2312"));
// } catch (Exception e) {
// // TODO: handle exception
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
e.printStackTrace();
} catch (DecodingFailedException dfe) {
System.out.println("Error: " + dfe.getMessage());
dfe.printStackTrace();
return decodedD
* @param args the command line arguments
public static void main(String[] args) {
QRCodeDecoderHandler handler = new QRCodeDecoderHandler();
String imgPath = "d:/test/twocode/Michael_QRCode.png";
String decoderContent = handler.decoderQRCode(imgPath);
System.out.println("解析结果如下:");
System.out.println(decoderContent);
System.out.println("========decoder success!!!");
class J2SEImage implements QRCodeImage {
BufferedImage bufI
public J2SEImage(BufferedImage bufImg) {
this.bufImg = bufI
public int getWidth() {
return bufImg.getWidth();
public int getHeight() {
return bufImg.getHeight();
public int getPixel(int x, int y) {
return bufImg.getRGB(x, y);
运行结果如下(解码出的内容和之前输入的内容一致
解析结果如下:Hello 大大、小小,welcome to QRCode!
Twitter [ @suncto ]
========decoder success!!!
本文连接:/blog/1136934
转载请注明来自:Michael's blog @
----------------------------- 分 ------------------------------ 隔 ------------------------------ 线 ------------------------------
(1013.7 KB)
下载次数: 3120
下载次数: 2243
浏览 25564
感谢楼主!想请问楼主一下这个生成的图片是生成到哪里?我用Eclipse显示生成成功但是找不到图片生成到哪里了。。。&
eppen 写道现在生成的图片是 140x140的,还能再小不?可以的 ,不过应该有个限制的最低像素吧 这个具体没有细究 可以的。
楼主,写的很好。可以用PC摄像头扫码吗?&& 有没PC摄像头扫码 这方面的java代码。这个以前有的代码找不到了
现在生成的图片是 140x140的,还能再小不?可以的 ,不过应该有个限制的最低像素吧 这个具体没有细究
浏览: 452085 次
来自: 上海
judasqiqi 写道感谢楼主!想请问楼主一下这个生成的图片 ...
感谢楼主!想请问楼主一下这个生成的图片是生成到哪里?我用Ecl ...
这个问题解决了吗?是什么原因?
感谢楼主啊。。。正需要!
之前已经用的qrcode,这个也很好本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助二维码解码例子ZXing - 下载频道
- CSDN.NET
&&&&二维码解码例子ZXing
二维码解码例子ZXing
ZXing-2二维码解码例子 下了很多也看了很多,这是个总结!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行酷派7260蓝牙基于zxing的手机二维码红线
手机行情,手机评测,手机图片,手机主题,手机型号,手机报价
当前位置: > 酷派7260蓝牙耳机手机二维码 >> 正文 >
酷派7260蓝牙基于zxing的手机二维码红线
来源: 编辑:郑晓莹 时间:
酷派7260蓝牙耳机手机二维码
&&&&背面该机采用了320万像素摄像头,并且支持3G/WIFI蓝牙GPS等功能。越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能快速存储电子名片二维码等。作为一款千元级产品,酷派7260的整体配置和功能都非常的不错。本文使用ZXing16实现条码/二维码识别。超级兔子系统评测AnTuTu,蓝牙三国酷派7260详情介绍游戏介绍继java版的蓝牙三国Q得到广大用户的青睐之后,我们UM团队并没有放弃,闭关修炼数月后,终于在这个11年11月1日为广,7260蓝牙无法发文件,能找到别的手机,发文件的时候就失败,怎么回事呀我的手机是酷派春雷7260,跪求好心人帮帮我刷机!+的驱动是一样的吗?7260找不到导,H16是一款采用蓝牙无线通讯技术的的免提耳挂单声道耳机,时尚简洁的外观,独特的耳塞设计,佩戴更方便舒适。ZXing是个,经过精心筹备的重庆时报码上相亲活动6月27日正式启动。配件USB充电器+USB充电线+耳挂基本规格蓝牙耳机技术。重庆时报每天在报纸上刊登隐藏着数十位男女嘉宾相亲信息的二维码,你只需要掏出手机,扫一扫这些二维码就能,APP111苹果园手机二维码下载教程1使用二维码下载,首先要下载一个叫我查查3打开我查查,点击一维二维扫描,当出现拍照状态的画面时,将屏幕中间红线对准网页,日核心提示4月10日上午消息,中国移动近日发布公告称,将以针对手机二维码业务以公开招标的方式引入2家新的运营支撑方,负责开发新的手机二维码产品与。
&&&&酷派7260能使用蓝牙耳机吗那种可以,京东商城客服为您解答。由一个二维码矩阵图形和一个二维码号,以及下方的说明文字组成,具有信息量大,纠错能力强,识读速度快,全方位识读等特点。声明您可在购买前对产品包装颜色运输库存等方面进行咨询,我们有专人进行回复!因厂家随时会更改一,蓝牙信息助手是一款运行在android平台上的蓝牙开关工具,可以方便的开启或关闭android手机的蓝牙功能,同其他手机蓝牙设备进行配对,相互传输本机蓝牙设备的可见性进行控。手机二维码将手机需要访问使用的信息编码,手机二维码是二维码的一种,是用特定的几何图形按一定规律在平面二维方向上分布的黑白相间的矩形方阵记录数据符号信息的新一代条码技术。E66对比酷派7260&&&&足以应对一般生活所需。手机二维码由一个二巍
手机二维码是二维码技术在手机上的应用。编辑点评酷派7260是一款价格低廉的智能3G手机,4英寸屏成为该机亮点所在,此外在娱乐方面本机也做到了全面,支持WIFI上网,蓝牙传输以及对于。

我要回帖

更多关于 二维码解码 的文章

 

随机推荐