# beautify-qrcode **Repository Path**: getjava/beautify-qrcode ## Basic Information - **Project Name**: beautify-qrcode - **Description**: 创意二维码,自定义模板,生成不同的创意二维码 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-06-05 - **Last Updated**: 2022-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 创意二维码 ## 项目简介 1. 创意二维码生成工具。 2. 项目目前已经有了3个图元模板可以使用。【甜模板,西瓜模板,龙猫模板】生成的图片示例见下方。 3. 可以自定义图元模板,需要UI切图。 ## 项目用法: 1. 将程序打包成Jar包,在项目中进行引用。代码示例见下方。
2. 默认已经有了3个模板,可以直接使用。模板名称【watermelon,sweet,chinchilla】
3. 返回的BufferedImage可以进一步操作,可以添加背景图,logo
如需要自定义图元模板
> 1. 在resources/template目录下,创建模板目录,放入图元。模板目录名称就是模板名称。 > 2. 参考已有图元模板或者StructEnum枚举类,制作图元。 > 3. 模板目录下rule.json是图元排序规则。图元越大sort应该越小。否则生成的二维码太碎。 ## 生成二维码示例 test_Watermelon.png - > 原图:test_Watermelon_original_picture.jpg
![Image text](https://gitee.com/keia/beautify-qrcode/raw/master/test_Watermelon.png)
test_Sweet.png - > 原图:test_Sweet_original_picture.gif
![Image text](https://gitee.com/keia/beautify-qrcode/raw/master/test_Sweet.png)
test_Chinchilla.png - > 原图:test_Chinchilla_original_picture.jpg
![Image text](https://gitee.com/keia/beautify-qrcode/raw/master/test_Chinchilla.png) ## 代码示例 ~~~ // 待生成图片地址 String pic = "D:\\test.png"; // 待生成二维码字符串 String qrContent = "https://www.baidu.com/"; // 使用哪种模板生成二维码 //String templateName = TemplateEnum.sweet.name(); //String templateName = TemplateEnum.chinchilla.name(); String templateName = TemplateEnum.watermelon.name(); // 细胞像素 int cellBit = 10; // 二维码容错率 ErrorCorrectEnum errorCorrect = ErrorCorrectEnum.M; // 拼装参数 QrCodeParam qrCodeParam = QrCodeParam .builder() .cellBit(cellBit) .errorCorrect(errorCorrect) .content(qrContent) .templateType(templateName) .build(); // 生产美化二维码 qrCodeParam = ImageQrCodeUtil.create(qrCodeParam); try { // 二维码保存 File imgFile = new File(pic); ImageIO.write(qrCodeParam.getBeautifyImage(), QrCodeConstant.DEFAULT_IMAGE_TYPE, imgFile); } catch (IOException e) { e.printStackTrace(); } ~~~