java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 Java 中基于 maven 实现 zxing 二维码功能, 非常不错, 具有参考借鉴价值, 需要的朋友可以参考下
maven 所需 jar
- <dependency>
- <groupId>com.google.zxing</groupId>
- <artifactId>core</artifactId>
- <version>3.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.zxing</groupId>
- <artifactId>javase</artifactId>
- <version>3.0.0</version>
- </dependency>
生成二维码:
- public static void main(String[] args) throws IOException {
- String text = "www.baidu.com";
- int width = 100;
- int height = 100;
- String format = "png";
- Hashtable hints = new Hashtable();
- 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(text, BarcodeFormat.QR_CODE, width, height, hints);
- Path file = new Java.io.File("D:/new.png").toPath();
- MatrixToImageWriter.writeToPath(bitMatrix, format, file);
- } catch(WriterException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}解析二维码: public static void main(String[] args) throws NotFoundException {
- MultiFormatReader formatReader = new MultiFormatReader();
- File file = new File("D:/new.png");
- BufferedImage image = null;
- try {
- image = ImageIO.read(file);
- } catch(IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
- Hashtable hints = new Hashtable();
- hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
- Result result = formatReader.decode(binaryBitmap, hints);
- System.err.println("解析结果:" + result.toString());
- System.out.println(result.getBarcodeFormat());
- System.out.println(result.getText());
- }
来源: http://www.phperz.com/article/18/0218/358635.html