美文网首页程序员Android
用Java生成二维码

用Java生成二维码

作者: 王大叔的土世界 | 来源:发表于2016-09-29 16:50 被阅读764次

由于前段日子小鱼忙于实习和找工作,一直没有时间写博客(其实只是有点懒罢了),千盼万盼的终于到了国庆节啦,终于可以好好写写博客啦。

闲话不多说,今天分享的是我在慕课网上学到的小技巧,用Java来生成自己的二维码。

说实话,一开始看到这个题目我是一脸懵逼的,哇,要用Java来生成二维码啊,会不会很复杂啊,要是学不会的话应该怎么办啊?各种各种的思绪不明所以的飘飞,简直不要太混乱啊。但其实看了之后才发现,真心不难。下面就是详细讲解啦。

第一步,为了生成二维码,必须用到一个jar包,就是叫做zxing的jar包,这个zxing是github上的一个开源项目,可以直接在github上面下载,这里是具体下载网址。

http://github.com/zxing/

而第二步,就是制作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.写完代码后只要点击运行,就能够生成你想要的二维码啦,无论是用二维码直接打开网址链接,或者是扫码安装软件,我们都可以随心所欲,是不是很棒呢?


如果喜欢或觉得小鱼的文章不错的话,不要忘记点下喜欢哦。

相关文章

网友评论

    本文标题:用Java生成二维码

    本文链接:https://www.haomeiwen.com/subject/coukyttx.html