java二维码生成的方法

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

本文实例为大家分享了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();
}
}

}
标签:java,二维码
0
投稿

猜你喜欢

  • java之使用多线程代替for循环(解决主线程提前结束问题)

    2021-11-21 01:23:55
  • Maven搭建springboot项目的方法步骤

    2022-08-08 09:50:09
  • 带你重新认识MyBatis的foreach

    2023-11-21 08:44:54
  • C#获取图片的后缀名解析

    2023-02-13 09:35:58
  • C语言实现两个矩阵相乘

    2023-07-22 12:41:20
  • android studio 3.6.1导入项目报错提示无法下载classpath里的内容

    2021-09-28 11:02:57
  • C# XML基础入门小结(XML文件内容增删改查清)

    2022-10-18 17:12:02
  • 基于java查找并打印输出字符串中字符出现次数

    2022-07-28 19:45:47
  • 解决Spring Cloud Feign 请求时附带请求头的问题

    2022-12-11 04:29:46
  • java查找图中两点之间所有路径

    2022-10-04 03:08:11
  • 完美解决idea moudle没有蓝色的小方块的问题

    2021-05-28 16:09:03
  • C# Winform 调用系统接口操作 INI 配置文件的代码

    2023-03-04 11:49:54
  • Unity shader实现遮罩效果

    2023-06-28 10:20:09
  • springboot结合maven配置不同环境的profile方式

    2022-05-28 12:00:16
  • ContentProvider启动流程示例解析

    2023-07-31 03:57:34
  • Java实现图片验证码具体代码

    2021-06-30 13:16:35
  • 详解spring boot rest例子

    2021-06-02 21:54:46
  • Java实现单链表反转的多种方法总结

    2023-11-11 02:28:08
  • Java:"失效"的private修饰符

    2021-06-28 19:56:48
  • java实现将结果集封装到List中的方法

    2021-10-27 22:29:45
  • asp之家 软件编程 m.aspxhome.com