(百度百科):二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
·对应POM
com.Google.zxingcore3.3.0com.google.zxingjavase3.2.1
·Java代码(生成二维码)
// 二维码的宽度 static final int WIDTH = 300; // 二维码的高度 static final int HEIGHT = 300; // 二维码的格式 static final String FORMAT = "png"; // 二维码的内容 static final String TEXT = "Hello!二维码!!!"; /** * 生成二维码 */ @Test public void generate() { /* 定义二维码的参数 */ HashMap hashMap = new HashMap(); // 设置二维码字符编码 hashMap.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 设置二维码纠错等级 hashMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M); // 设置二维码边距 hashMap.put(EncodeHintType.MARGIN, 2); try { // 开始生成二维码 BitMatrix bitMatrix = new MultiFormatWriter().encode(TEXT, BarcodeFormat.QR_CODE, WIDTH, HEIGHT, hashMap); // 导出到指定目录 MatrixToImageWriter.writeToPath(bitMatrix, FORMAT, new File("D://erweima.png").toPath()); } catch (WriterException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
生成出来的二维码!!!
·Java代码(读取二维码)
/** * 读取二维码 */ @Test public void read() throws IOException, NotFoundException { // 读取二维码为图片 BufferedImage bufferedImage = ImageIO.read(new File("D://erweima.png")); // 获取二维码的结果 BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(bufferedImage))); /* 定义二维码的参数 */ HashMap hashMap = new HashMap(); // 设置二维码字符编码 hashMap.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 对图像进行解码 Result result = new MultiFormatReader().decode(binaryBitmap, hashMap); System.out.println("解析二维码的内容是:" + result.getText()); }
读取二维码里面的内容!!!