Java实现带logo的二维码
二维码应用到生活的各个方面,会用代码实现二维码,我想一定是一项加分的技能。好了,我们来一起实现一下吧。
我们实现的二维码是基于QR Code的标准的,QR Code是由日本Denso公司于1994年研制的一种矩阵二维码符号码,全称是Quick Response Code
QR Code:专利公开,支持中文;
QR Code与其他二维码相比,具有识读速度快、数据密度大、占用空间小的优势;
纠错能力:
L级:约可纠错7%的数据码字
M级:约可纠错15%的数据码字
Q级:约可纠错25%的数据码字
H级:约可纠错30%的数据码字
知道了这些硬知识后,我们做一下准备工作,我们需要下载两个jar包,辅助我们开发,这里我放上链接
http://mavenrepository.com/artifact/com.google.zxing/javase
http://mavenrepository.com/artifact/com.google.zxing/core/3.3.2
我们在我们的工程下,新建一个java project 项目就可以了,可以新建三个lib、utils、test三个文件夹;lib存放jar包,utils放我们写的工具类,test用来放我们写的测试类
我们先从不带logo的二维码开始
思路:
1、设置一些二维码的参数;如 字符集、外边距、容错等级
2、生成二维码
好了,我们来实现一下
/**
*
* @param width 二维码的宽
*
* @param height 二维码的高
*
* @param content 二维码的内容
*
*/
public static void createQrCode(int width, int height, String content) {
// 1、设置二维码的一些参数
HashMap hints = new HashMap();
// 1.1设置字符集
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 1.2设置容错等级;因为有了容错,在一定范围内可以把二维码p成你喜欢的样式
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
// 1.3设置外边距;(即白色区域)
hints.put(EncodeHintType.MARGIN, 1);
// 2、生成二维码
try {
// 2.1定义BitMatrix对象
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
// 2.2、设置二维码存放路径,以及二维码的名字
Path codePath = new