详解使用zxing库生成QR-Code二维码
时间:2021-02-06 10:05:43|栏目:JAVA代码|点击: 次
详解使用zxing库生成QR-Code二维码
最近因为一些工作需要,需要根据实际的信息生成QR-Code二维码图片文件,自然想到zxing库了,具体的代码很简单,做个备忘。
首先是引入zxing库,我是使用maven构建项目的,添加依赖:
<dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version> </dependency>
然后是测试样列代码:
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
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;
/**
* 使用zxing库生成QRCode二维码样例程序
*
* @author 阿信sxq
*
*/
public class QrcodeDemo {
public static void main(String[] args) {
new QrcodeDemo().genQrcode("https://my.oschina.net/songxinqiang");
}
public void genQrcode(String message) {
//输出目标文件
File file = new File("E:\\qrcode.png");
if (!file.exists()) {
try {
file.mkdirs();
file.createNewFile();
} catch (IOException e) {}
}
//设置参数,输出文件
Map<EncodeHintType, String> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(message, BarcodeFormat.QR_CODE,
300, 300, hints);// 生成矩阵
MatrixToImageWriter.writeToPath(bitMatrix, "png", file.toPath());// 输出图像
} catch (Exception e) {}
}
}
这里是为了做演示,内容直接生成的我空间的地址,并且目标文件也是现在家里使用的windows 的文件位置,在具体实际的使用中需要具体修改。
生成的图片是:

(调整过大小)
在这里需要说明的是,二维码中的点的大小会随二维码文字内容的多少自动变化,所以在文字内容很多的时候需要把图片的尺寸调大,否则点太小了,一般的手机扫描起来很吃力
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇:图解Java线程的生命周期
栏 目:JAVA代码
下一篇:Java数据库连接池之proxool_动力节点Java学院整理
本文地址:http://www.codeinn.net/misctech/58058.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




