java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要为大家详细介绍了 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();
- }
- }
- }
来源: http://www.phperz.com/article/17/0818/338388.html