由于前段日子小鱼忙于实习和找工作,一直没有时间写博客(其实只是有点懒罢了),千盼万盼的终于到了国庆节啦,终于可以好好写写博客啦。
闲话不多说,今天分享的是我在慕课网上学到的小技巧,用Java来生成自己的二维码。
说实话,一开始看到这个题目我是一脸懵逼的,哇,要用Java来生成二维码啊,会不会很复杂啊,要是学不会的话应该怎么办啊?各种各种的思绪不明所以的飘飞,简直不要太混乱啊。但其实看了之后才发现,真心不难。下面就是详细讲解啦。
第一步,为了生成二维码,必须用到一个jar包,就是叫做zxing的jar包,这个zxing是github上的一个开源项目,可以直接在github上面下载,这里是具体下载网址。
而第二步,就是制作jar包了,因为在github上面下载下来的zxing项目只是源码,还不是jar包,所以应该自己先用eclipse将这些源码导出为jar包。下面就是具体步骤了:
一、在eclipse中新建一个工程,名字随意,这里我取为Demo。
二、
1.下载的zxing压缩包解压后的文件如下,将core和javase两个文件夹里面的代码拷到Demo工程中。(core中只要main文件下的代码)
2.拷完之后发现报错了!啊,我知道程序员都特别痛恨红叉叉,但是不要那么紧张,放宽心将它们打包就好,如下所示。
三、愉快的打包完之后就可以开始真正的写代码啦。
public class QRCode {
public static void main(String[] args){
//设置二维码宽度
int width = 300;
//设置二维码高度
int height = 300;
//设置图片格式
String format = "png";
//设置二维码的信息内容,就是扫了二维码后出现的东西,这里是一个链接
String content ="http://www.baidu.com";
createQRcode(width, height, format, content);
}
}
private static void createQRcode(int width, int height, String format,String content) {
// 设置下二维码的参数
Map hint = new HashMap();
// 设置二维码的编码格式
hint.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 设置二维码的纠错等级,等级越高,可存储的数据量就越少
// L,M,Q,H这四个值等级依次有低到高
hint.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
// 设置二维码的边距,也就是外面的空白边框大小
hint.put(EncodeHintType.MARGIN, 2);
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE, width, height, hint);
Path a = new File("D:/morning/mor.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, a);
} catch (WriterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.写完代码后只要点击运行,就能够生成你想要的二维码啦,无论是用二维码直接打开网址链接,或者是扫码安装软件,我们都可以随心所欲,是不是很棒呢?
如果喜欢或觉得小鱼的文章不错的话,不要忘记点下喜欢哦。