下面封装的两个方法,
url地址是http://开头的要不然浏览器没办法直接跳转
宽高都是一个数 wh
边框 margin 0是没有边框 ,1是最小边框
返回值 BufferedImage 类型的数据,调用第二个方法respImageBuffer下载到浏览器

/*** @param url 链接内容* @param wh  宽高* @param margin 边框大小* @return*/public BufferedImage qrCode(String url,Integer wh,Integer margin) {/** 图片的宽度和高度*/int width = Objects.isNull(wh)?300:wh;;int height = Objects.isNull(wh)?300:wh;;// 定义二维码的参数HashMap<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();// 定义字符集编码格式hints.put(EncodeHintType.CHARACTER_SET, "utf-8");// 纠错的等级 L > M > Q > H 纠错的能力越高可存储的越少,一般使用Mhints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);// 设置图片边距hints.put(EncodeHintType.MARGIN,margin);BufferedImage bufferedImage = null;try {// 最终生成 参数列表 (1.内容 2.格式 3.宽度 4.高度 5.二维码参数)BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, width, height, hints);bufferedImage = MatrixToImageWriter.toBufferedImage(bitMatrix);} catch (Exception e) {new CustomException("二维码存储失败", 400);}return bufferedImage;}

BufferedImage 类型的数据下载到浏览器

public void respImageBuffer(BufferedImage img,HttpServletResponse response){try {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();ImageOutputStream imageOutput= ImageIO.createImageOutputStream(byteArrayOutputStream);ImageIO.write(img,"png",imageOutput);ByteArrayInputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());long length = imageOutput.length();//设置responseresponse.setContentType("application/x-msdownload");response.setContentLength((int)length);response.setHeader("Content-Disposition","attachment;filename=ercode.jpg");//输出流byte[] b = new byte[1024];ServletOutputStream outputStream = response.getOutputStream();long count = 0;while (count < length){int len = inputStream.read(b, 0, 1024);count+=len;outputStream.write(b,0,len);}outputStream.flush();}catch (Exception e){throw new CustomException("生成二维码失败",400);}}

java生成二维码,自定义宽高和边框大小相关推荐

  1. Java生成二维码带LOGO底部标题竖版字体

    前言 Java后端生成二维码 底部 侧面带有标题,可调节字号 参考文章 使用Java生成二维码图片(亲测) Reborn_YY使用Java生成二维码图片 图标素材库 Java后台生成图片,前台实现图片 ...

  2. Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码

    Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码 一.关于ZXing 1.ZXing是谷歌开源的支持二维码.条形码 等图形的生成类库:支持生成.和解码功能. G ...

  3. java 生成二维码,解析二维码

    今天遇到需求,使用Java生成二维码图片,网搜之后,大神们早就做过,个人总结一下. 目标:借助Google提供的ZXing Core工具包,使用Java语言实现二维码的生成和解析. 步骤如下: 1.m ...

  4. JAVA生成二维码(二)深度处理

    1.写这个博客的目的 解决JAVA生成二维码(一)中的一些问题. 2.解读排错率,编码模式,版本问题.以下都是自己测试中存在的问题 1.排错率 排错的原理是二维码在编码过程中进行了冗余,就像是123被 ...

  5. Java生成二维码并以IO流的形式返回给前端展示(不需写入服务器),以及下载二维码图片

    目录 场景 方案分析 第一步--引入依赖 第二步--编写工具类 第三步--编写API接口 第四步--访问测试 第五步--下载图片 场景 最近笔者做的项目中,有一个需求: 在系统中生成一个二维码,用户保 ...

  6. java生成二维码、扫描后跳转到指定的页面或读取指定内容

    1.生成二维码需要导入的jar包 //spring boot 的maven项目 导入响应jar包<!-- 生成二维码 --><dependency><groupId> ...

  7. 使用Java生成二维码

    二维码应该称为二维条码,扫描之后可以获得更多数据 QR码全称为快速响应矩阵码,1994年日本一个公司发明 黑色表示1,白色表示0 3个角落比较像"回"字,叫定位点 容错机制,当7% ...

  8. Java生成二维码底部带文字并且返回前端使用img接收

    目录 1.java生成二维码工具类 2.web测试 3.前端处理 4.测试结果 背景 本demo主要针对jdk1.6版本的,但是高版本的同样可以用,如果觉得不舒服可以自行添加高版本的依赖包. 准备工具 ...

  9. JAVA生成二维码QRcode

    JAVA生成二维码QRcode 1 : 配置集成 1.1.配置maven 1.2.配置文件 1.3.logo文件 2 : 代码集成 2.1.加载配置文件 2.2.工具类 2.3.测试类 3 : 测试结 ...

  10. java 生成二维码 QRCode、zxing 两种方式

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

最新文章

  1. Android巩固之事件分发机制
  2. 《图解HTTP》笔记之TCP/IP
  3. Android 软键盘弹出时把布局顶上去,控件乱套解决方法
  4. 汇编语言 test 和 cmp 区别
  5. 信息学奥赛一本通(1056:点和正方形的关系)
  6. Chrome 最小字体12px
  7. 【内推】字节跳动-计算机视觉(实习 线上面试!)
  8. 数字相控阵雷达的优势(Benefits of Digital Phased Array Radars)1
  9. 对Kalman(卡尔曼)滤波器的理解
  10. 机器人系统常用仿真软件工具介绍、效果与评价指标(2018年更新)
  11. Vue前端页面开发之vue2.0脚手架搭建
  12. python-求两个数的最小公倍数
  13. editplus远程连接云服务器
  14. macd底背离的python_Python量化交易之MACD#39;顶底背离#39;形态的实现,自动化交易!...
  15. 自媒体博主都用什么剪辑视频_博主和设计师的最佳免费社交媒体图标兆集
  16. java 微信公众号乱码_(原创)开发微信公众平台遇到的乱码等问题的解决
  17. 如何利用大数据软件进行家政服务的选址要素收集与分析
  18. 2个超实用Mac软件免费下载地址,从此自力更生
  19. i2C设备地址怎么看?
  20. 【电子学会】2022年06月图形化四级 -- 判断闰年

热门文章

  1. MEMS加速度计在寻北仪中的应用
  2. html表单提交到邮箱,表单 action mailto发邮件
  3. 无线工勘平台(华为、华三、锐捷)
  4. adb 获取屏幕截图、录制视频
  5. EndNote20如何下载并安装中文参考文献格式GBT7714
  6. 用vb编写websocket客户端示例(每秒百万弹幕吞吐量)
  7. 【simulink】Three-PhaseV-I Measurement(三相电压电流测量)
  8. 网页div滚动条样式设置
  9. 如何避免危险的免费wifi?
  10. 字符串下划线驼峰映射实体类参数json对象