Java实现二维码生成器

实现一个简单的二维码生成器,对网址和信息转换成二维码,使用zxing库实现入图:

5734246d74d14c2086bf73f84bfd5e91.png

代码如下:

0.加依赖

        <!-- hutool工具包 -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.11</version>
        </dependency>        
        <!--zxing生成二维码 -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!-- zxing生成二维码 -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.5.1</version>
        </dependency>

1.写配置

@Configuration
public class QrCodeConfiguration {
    @Bean
    public QrConfig qrConfig() {
        QrConfig config = new QrConfig();
        // 设置二维码前景色
        config.setForeColor(Color.BLACK);
        // 设置二维码的背景色
        config.setBackColor(Color.WHITE);
        //config.setImg() 设置图片
        //config.setHeight();设置高度
        // config.setWidth(); 设置宽度
        //config.setCharset(); 
        //这个方法用于设置二维码的编码,默认UTF-4
        //config.setMargin();
        //这个方法用于设置二维码的边缘空白区域(或称为边距),边界区域是二维码图像周围的空白区域,用于防止图像被裁剪或覆盖
        //config.setQrVersion()
        //这个方法用于设置二维码的版本,二维码版本表示二维码的大小和容纳数据的能力。较高的版本意味着更大的二维码,并且可以容纳更多的数据
        //config.setShapeHint()
        //这个方法用于设置二维码的形状提示,形状提示是指帮助识别二维码的提示信息,通常用于在扫描二维码时指导扫描设备正确方向
        //config.setRatio()
        //这个方法用于设置二维码和内部图像的宽高比例
        return config;
    }
}

2.写接口

@RestController
@RequestMapping("qr")
@Api(tags = "二维码生成")
public class QrCodeServlet{
    //注入对应的bean
    @Resource
    QRService qrService;

    /**
     * 生成图像
     *
     * @param content  内容
     * @param response 响应
     * @throws IOException ioexception
     */
    @GetMapping("/stream")
    @ApiOperation("输入信息导出二维码")
    @ApiImplicitParam(name = "content",value = "文本信息")
    public void generateImage(String content, HttpServletResponse response) throws IOException {
        response.setHeader("content-type", "image/png");
        qrService.generateToStream(content, response);
    }

    /**
     * 生成图像base64
     *
     * @param content 内容
     * @return {@link R}<{@link String}>
     */
    @GetMapping("base64")
    @ApiOperation("输入信息导出二维码(base64格式)")
    @ApiImplicitParam(name = "content",value = "文本信息")
    public R generateImageToBase64(String content) {
        String base64 = qrService.generateBase64(content);
        return R.ok(base64);
    }

}

这样一个简单的springboot网页二维码生成器就实现好了

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白猫~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值