首先创建一个二维码:
package com.mk.zxing;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.HashMap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class CreateQRCode {
public static void main(String[] args) {
int width = 300;
int height = 300;
String content = \"这是一个二维码\";
String format = \"png\";
//定义二维码参数
HashMap hhmp = new HashMap<>();
hhmp.put(EncodeHintType.CHARACTER_SET, \"utf-8\");
hhmp.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
hhmp.put(EncodeHintType.MARGIN, 2);
// 生成路径
Path file = new File(\"E:/二维码/img.png\").toPath();
//生成二维码
try {
BitMatrix encode = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hhmp);
MatrixToImageWriter.writeToPath(encode, format, file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
读取二维码的内容:
package com.mk.zxing;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.HashMap;
import javax.imageio.ImageIO;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
public class ReadQRCode {
public static void main(String[] args) {
try {
MultiFormatReader mfr = new MultiFormatReader();
File file = new File(\"E:/二维码/img.png\");
BufferedImage img = ImageIO.read(file);
BinaryBitmap binaryBitMap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(img)));
//定义二维码参数
HashMap hhmp = new HashMap<>();
hhmp.put(EncodeHintType.CHARACTER_SET, \"utf-8\");
Result decode = mfr.decode(binaryBitMap, hhmp);
System.out.println(\"解析结果:\"+decode.toString());
System.out.println(\"二维码格式类型:\"+decode.getBarcodeFormat());
System.out.println(\"二维码内容:\"+decode.getText());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
继续阅读与本文标签相同的文章
上一篇 :
Android开发之项目命名规则
下一篇 :
CCRC和ITSS分别是什么?
-
MySQL迁移到Cassandra
2026-05-18栏目: 教程
-
Cassandra sstableloader工具使用及原理解析
2026-05-18栏目: 教程
-
Qt编写控件属性设计器1-加载插件
2026-05-18栏目: 教程
-
Qt编写控件属性设计器2-拖曳控件
2026-05-18栏目: 教程
-
Aliyun Serverless VSCode Extension v1.9.0 发布
2026-05-18栏目: 教程
