Java实现二维码QRCode的编码和解码
2017-08-12 08:01:20
dfe.printStackTrace();
// 设置偏移量 不设置可能导致解析出错
* 二维码生成器
public int getPixel(int x, int y) {
}
* @param content
二维码相关---java生成二维码名片,并且
BufferedImage bufImg;
+ contentBytes.length + " not in [ 0,120 ]. ");
System.out.println(content);
java版二维码实例(非安卓版)
/**
File imageFile = new File(imgPath);
import com.swetake.util.Qrcode;
// } catch (Exception e) {
// System.out.println(new String(decodedData.getBytes("gb2312"),
String imgPath = "d:/test/twocode/Michael_QRCode.png";
试用下Android手机的二维码扫描软件,扫描了下火车票、名片等等,觉得非常不错很有意思的。当然Java也可以实现这些,现在分享下如何简单用Java实现二维码中QRCode的编码和解码(可以手机扫描验证)。
handler.encoderQRCode(content, imgPath);
此时可用手机的二维码扫描软件(本人用的:android 快拍二维码 )来测试下,识别成功的截图如下:
运行后生成的二维码图片如下:

* @param imgPath

*/
System.out.println("解析结果如下:");
Java利用Zxing生成二维码
try {
【二】、解码:
decodedData = new String(decoder.decode(new J2SEImage(bufImg)));
Java代码
涉及到的一些主要类库,方便大家下载:
import java.io.File;
public class QRCodeEncoderHandler {
public static void main(String[] args) {
File imgFile = new File(imgPath);
int pixoff = 2;
* @blog
* 生成二维码(QRCode)图片
BufferedImage.TYPE_INT_RGB);
// 设定图像颜色> BLACK
Graphics2D gs = bufImg.createGraphics();
我要投稿import java.awt.image.BufferedImage;
// try {
点击复制链接 与好友分享!回本站首页
/**
}
public int getWidth() {
for (int j = 0; j < codeOut.length; j++) {
System.err.println("QRCode content bytes length = "
}
public class QRCodeDecoderHandler {
qrcodeHandler.setQrcodeVersion(7);
JAVA 生成二维码 代码
热门专题推荐
// QRCode 二维码图片的文件
class J2SEImage implements QRCodeImage {
}
Twitter [ @suncto ]
String imgPath = "D:/test/twocode/Michael_QRCode.png";
return bufImg.getWidth();
* @return String
喜欢的朋友可以下载后试一试,做一些名片或者自己喜欢的东西。当然Java也可以对二维码图片解码,具体看下面关于解码的内容。
this.bufImg = bufImg;
* @author Michael
gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
北京邮电大学课程Jav} else {
}
* 解码二维码
}
QRCodeDecoderHandler handler = new QRCodeDecoderHandler();
首页 > 程序开发 > 软件开发 > Java > 正文
// 输出内容> 二维码
java生成二维码
return bufImg.getRGB(x, y);
bufImg = ImageIO.read(imageFile);
}
【一】、编码:
二维码的生成与解析
使用zxing生成嵌图片的二维码
* @param imgPath
public int getHeight() {
* @param args the command line arguments
编码lib:Qrcode_swetake.jar (官网介绍-- )
public J2SEImage(BufferedImage bufImg) {
return bufImg.getHeight();
JAVAWEB开发之工作流package michael.qrcode;
System.out.println("========decoder success!!!");
Qrcode qrcodeHandler = new Qrcode();
}
import java.io.File;
} catch (DecodingFailedException dfe) {
public String decoderQRCode(String imgPath) {
import javax.imageio.ImageIO;
qrcodeHandler.setQrcodeEncodeMode('B');
QRCodeDecoder decoder = new QRCodeDecoder();
/**
运行结果如下(解码出的内容和之前输入的内容一致 ):
QRCodeDecoderHandler.java
}
System.out.println("Error: " + dfe.getMessage());
import jp.sourceforge.qrcode.QRCodeDecoder;
}
byte[] contentBytes = content.getBytes("gb2312");
java生成二维码方法事例
/**
QRCodeEncoderHandler.java
boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);
+ " EMail [ sjsky007@gmail.com ]" + " Twitter [ @suncto ]";
} catch (Exception e) {
相关文章}
*/
解码lib:qrcode.jar (官网介绍-- )
gs.setBackground(Color.WHITE);
// "gb2312"));
// // TODO: handle exception
* @blog
#p#分页标题#e#相关TAG标签 二维码 编码
+ " Myblog [ ]"
}
e.printStackTrace();
import java.awt.image.BufferedImage;
for (int i = 0; i < codeOut.length; i++) {
// }
}
*/

public static void main(String[] args) {
Hello 大大、小小,welcome to QRCode!
Java Mail邮件发送qrcodeHandler.setQrcodeErrorCorrect('M');
String decoderContent = handler.decoderQRCode(imgPath);
BufferedImage bufImg = null;
/**
}
条形码/二维码之开源利器ZXing图文介绍
System.out.println(decoderContent);
ImageIO.write(bufImg, "png", imgFile);
2011-08-01 10:50:24
import jp.sourceforge.qrcode.data.QRCodeImage;
} catch (IOException e) {
========decoder success!!!
* @author Michael
解析结果如下:
上一篇:JAVA 7新功能一览 下一篇:熟知request}
gs.dispose();
e.printStackTrace();
EMail [ sjsky007@gmail.com ]
String content = "Hello 大大、小小,welcome to QRCode!"
*/
import jp.sourceforge.qrcode.exception.DecodingFailedException;
*/
}
if (contentBytes.length > 0 && contentBytes.length < 120) {
java web开发(四)import java.awt.Graphics2D;
System.out.println("Error: " + e.getMessage());
Myblog [ ]
import javax.imageio.ImageIO;
* @param args the command line arguments
System.out.println("encoder QRcode success");
gs.clearRect(0, 0, 140, 140);
import java.io.IOException;
import java.awt.Color;
package michael.qrcode;

String decodedData = null;
*/
Java代码
QRCodeEncoderHandler handler = new QRCodeEncoderHandler();
try {
return decodedData; /** java生成二维码 
}
gs.setColor(Color.BLACK);
bufImg.flush();
BufferedImage bufImg = new BufferedImage(140, 140,
// 生成二维码QRCode图片

if (codeOut[j][i]) {
public void encoderQRCode(String content, String imgPath) {
- 上一篇:二维码基本知识
- 下一篇:赞皇、武邑、馆陶、永清四县入驻溯源中国·河北





