生成的二维码
在maven工程中需要的jar
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
//生成二维码
public static void main(String[] args) {
//图片的宽高(px)
int width = 300;
int height = 300;
//图片格式
String format = "png";
//图片内容(存储的信息)
String content = "http://blog.csdn.net/weixin_40800533";
//定义二维码的参数
HashMap hints = new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");//内容编码
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);//纠错等级
hints.put(EncodeHintType.MARGIN, 2);//边距
//存储路径
Path file = new File("/Users/Administrator/Desktop/img.png").toPath();
BitMatrix bitMatrix = null;
try {
bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
MatrixToImageWriter.writeToPath(bitMatrix, format, file);
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//读取二维码
public static void main(String[] args) {
MultiFormatReader multiFormatReader = new MultiFormatReader();
File file = new File("/Users/Administrator/Desktop/img.png");
try {
//读取图片
BufferedImage image = ImageIO.read(file);
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
HashMap hints = new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");//内容编码
Result result = multiFormatReader.decode(binaryBitmap, hints);
System.out.println("解析结果:" + result.toString());
System.out.println("二维码格式类型:" + result.getBarcodeFormat());
System.out.println("二维码文本内容:" + result.getText());
} catch (IOException | NotFoundException e) {
e.printStackTrace();
}
}
输出结果:
解析结果:http://blog.csdn.net/weixin_40800533
二维码格式类型:QR_CODE
二维码文本内容:http://blog.csdn.net/weixin_40800533