软件编程
位置:首页>> 软件编程>> java编程>> java二维码生成的方法

java二维码生成的方法

作者:ITqingliang  发布时间:2022-08-02 22:07:28 

标签:java,二维码

本文实例为大家分享了java二维码的实现代码,供大家参考,具体内容如下

这次用到的jar包是zxing,没有用到core的jar包
先导入zxing.jar包

生成二维码


package cn.huse.erweima;

import java.io.File;
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 format = "gif";
String content = "www.baidu.com";

//定义二维码的参数
HashMap hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
try {
 BitMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);
 File file = new File("e:"+File.separator+"new.gif");
 MatrixToImageWriter.writeToFile(matrix, format, file);
} catch (Exception e) {
 e.printStackTrace();
}
}

}

解析二维码


package cn.huse.erweima;

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;

//解析二维码
public class ReadQRCode {

public static void main(String[] args) {

MultiFormatReader formatReader = new MultiFormatReader();
File file = new File("e:"+File.separator+"new.gif");
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 = formatReader.decode(binaryBitmap,hints);
 System.out.println(result.toString());
 System.out.println(result.getBarcodeFormat());
 System.out.println(result.getText());
} catch (NotFoundException e) {
 e.printStackTrace();
} catch (IOException e) {
 e.printStackTrace();
}
}

}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com