zxing方式生成二维码

来源:互联网 发布:淘宝天猫内部券公众号 编辑:程序博客网 时间:2024/05/30 07:12

1.用zxing方式生成:需要的jar包---------https://pan.baidu.com/s/1qX8D7AW

package com.lrq.entity;
import java.io.File;
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.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

public class CreateQRCode {
private static final BarcodeFormat BarcodeFormat = null;
public static void main(String[] args){
int width=300;
int height=300;
String format="png";
String content="www.baidu.com";

HashMap hints=new HashMap();
/*字符编码*/
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
/*纠错等级*/
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
/*外边距*/
hints.put(EncodeHintType.MARGIN,2);

try {
BitMatrix bitMatrix=new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE, height, width,hints);
Path file=new File("D:/img.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix,format,file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


2.解析二维码

package com.lrq.entity;


import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
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.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;


public class ReadQR_Code {
public static void main(String[] args){
MultiFormatReader formatReader=new MultiFormatReader();
File file=new File("D:/img.png");
BufferedImage image;
try {
image = ImageIO.read(file);
   HashMap hints=new HashMap();
   /*字符编码*/
   hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
   BinaryBitmap binaryBitmap=new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
   Result result=formatReader.decode(binaryBitmap,hints);
   
   System.out.println("解析结果:"+result.toString());
   System.out.println("解析格式"+result.getBarcodeFormat());
   System.out.println("解析文本"+result.getText()); 
} catch (NotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}






1 0
原创粉丝点击