spring boot 通过zxing生成二维码

这篇具有很好参考价值的文章主要介绍了spring boot 通过zxing生成二维码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot是一个基于Spring框架的快速开发、便捷部署的微服务框架。而ZXing是一个功能强大的开源库,用于生成和解析二维码。在Spring Boot应用中,您可以整合ZXing库来方便地生成二维码。

接下来,创建一个Spring Boot服务,并编写一个控制器类来生成二维码。以下是一个简单的例子:文章来源地址https://www.toymoban.com/news/detail-810913.html

@RestController
public class QrController {

    @Resource
    private CouponApi couponApi;


    @GetMapping("/qr")
    public ResponseEntity<byte[]> getImageData(CouponRequest request) throws IOException, WriterException {

        ResponseEntity<byte[]> result=new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);

        ResponseObject<CouponResponse> res = couponApi.view(request);
        if (res.getCode()!=200){
            return result;
        }

        Map<EncodeHintType, Object> hints = new HashMap<>();
        hints.put(EncodeHintType.MARGIN,1);
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        String data=String.format("http://www.niubaite.com/check?id=%d&code=%s",res.getData().getId(),res.getData().getCouponCode());
        BitMatrix bitMatrix = qrCodeWriter.encode(data, BarcodeFormat.QR_CODE, 300, 300, hints);

        BufferedImage bufferedImage = new BufferedImage(bitMatrix.getWidth(), bitMatrix.getHeight(), BufferedImage.TYPE_INT_RGB);
        for (int x = 0; x < bitMatrix.getWidth(); x++) {
            for (int y = 0; y < bitMatrix.getHeight(); y++) {
                bufferedImage.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
            }
        }
        ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, "png", outputStream);
        byte[] imageData =outputStream.toByteArray();

        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "image/png"); // 设置内容类型为图像

        return new ResponseEntity<>(imageData, headers, HttpStatus.OK);
    }

}

到了这里,关于spring boot 通过zxing生成二维码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 二维码生成解析用ZXing.NET就够了,不要再引一堆生成和解析库了

    ZXing.NET 是一个开源的、功能强大的二维码处理库,它能够对二维码进行解码(读取信息)和编码(生成二维码)。ZXing 是 \\\"Zebra Crossing\\\" 的缩写,是一个跨平台的、用于解码和生成条形码和二维码的库。以下是一些 ZXing.Net 的主要功能通过实例讲解。 这些示例演示了 ZXing.Net 的

    2024年02月04日
    浏览(30)
  • Android之 Zxing二维码详解

    一 简介 1.1 ZXing 目前Android扫描二维码,条形码主要用google官方的工具Zxing,支持扫码,相册解码,生成带logo的二维码等功能  Zxing github 示例地址:https://github.com/zxing/zxing 1.2 ZBar 由于zxing是基于java编写的,扫码速度和解析上可能没那么快,但大部分场合足够用。也有基于c/

    2024年02月08日
    浏览(27)
  • zxing二维码位矩阵转换成Bitmap位图

    ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。 该项目可实现的条形码编码和解码。我们支持以下格式: UPC-A,UPC-E EAN-8,EAN-13 39码 93码 代码128 创新及科

    2023年04月11日
    浏览(35)
  • C#中轻松实现二维码和条形码识别:OpenCvSharp和ZXing详细教程

      概述: 本教程使用OpenCvSharp和ZXing库,详细介绍了在C#中识别二维码和条形码的步骤。通过导入必要的命名空间、加载图像,并使用ZXing库进行二维码和条形码的识别,提供了清晰的示例代码。这方便了开发人员在项目中集成二维码和条形码识别功能。 要使用OpenCvSharp来分别

    2024年03月09日
    浏览(53)
  • 【uni-app】后端返回base64转二维码并显示在canvas生成海报

    使用官方的 uni.getFileSystemManager().writeFile() 方法可将base64码转成的二维码显示在画布上,代码如下: const obj = {                     page: \\\'pages/sort/goodsDetail\\\',                     co_Nu: this.goodInfo.co_Nu                 }                 const _this = this       

    2024年02月11日
    浏览(37)
  • C# 通过TSPL(PUTBMP)指令打印由Bitmap生成的二维码图片

    PUTBMP命令只支持打印位深为1或8的bmp图片。 Bitmap生成二维码可以用ZXing.Net库。 可参考 C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(一) - 天马3798 - 博客园 (cnblogs.com) 如果Bitmap.Save()方法生成的是24位深图片,需要先做位数转换。 可参考 彩色/灰色Bmp 转单色 - jo

    2024年02月12日
    浏览(42)
  • vue批量生成二维码,打印生成的二维码,并批量下载生成的二维码,qrcode

    通过使用 qrcode 生成二维码, 使用 jszip 打包批量二维码文件, 使用 file-saver 下载打包好的zip文件, 使用 vue-print-nb 打印生成的二维码 配置项: width 二维码宽度 height 二维码高度 errorCorrectionLevel 二维码纠错级别,指二维码被遮挡可以扫出结果的区域比例 color: 7. 打印生成的二

    2024年02月01日
    浏览(35)
  • 二维码生成&点击按钮展示二维码

    使用HBuider 1.先安装插件 (地址 :  https://ext.dcloud.net.cn/plugin?id=1287) 这里直接就安装到了uni-modules里面了 import uQRCode from ‘@/uni_modules/Sansnn-uQRCode/components/u-qrcode/u-qrcode.vue’ 弹框用到了uni-app提供的uni-popup弹框,把二维码放到内容那块,替换即可

    2024年02月10日
    浏览(40)
  • js生成二维码和解析二维码

    这个整了好久,用的包换了好几次,所以记录一下 生成二维码 解析二维码 然后是两个引入的js reqrcode和qrcode

    2023年04月09日
    浏览(33)
  • Android studio 实现生成二维码和扫描二维码

    效果图 build.gradle(:app)添加依赖 Manifests.xml activity_main.xml MainActivity ScanActivity

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包