根据url动态生成二维码
根据url动态生成二维码的工具类,没有细研究,先贴出来,有兴趣自己深究。public class QRCodeUtil {public static BufferedImage createImage(String content, String logoImgPath, boolean needCompress) throws IOException, WriterException {Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, CHARSET);hints.put(EncodeHintType.MARGIN, 1);//200是定义的二维码或小图片的大小BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 210, 210, hints);int width = bitMatrix.getWidth();int height = bitMatrix.getHeight();BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);//循环遍历每一个像素点for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);}}// 没有logoif (logoImgPath == null || "".equals(logoImgPath)) {return image;}// 插入logoinsertImage(image, logoImgPath, needCompress);return image;}private static void insertImage(BufferedImage source, String logoImgPath, boolean needCompress) throws IOException {File file = new File(logoImgPath);if (!file.exists()) {return;}Image src = ImageIO.read(new File(logoImgPath));int width = src.getWidth(null);int height = src.getHeight(null);//处理logoif (needCompress) {if (width > WIDTH) {width = WIDTH;}if (height > HEIGHT) {height = HEIGHT;}Image image = src.getScaledInstance(width, height, Image.SCALE_SMOOTH);BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics gMaker = tag.getGraphics();gMaker.drawImage(image, 0, 0, null); // 绘制缩小后的图gMaker.dispose();src = image;}// 在中心位置插入logoGraphics2D graph = source.createGraphics();int x = (200 - width) / 2;int y = (200 - height) / 2;graph.drawImage(src, x, y, width, height, null);Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);graph.setStroke(new BasicStroke(3f));graph.draw(shape);graph.dispose();} }
根据url动态生成二维码相关推荐
- 根据url地址生成二维码,微信扫描二维码可直接打开网址
需求:根据url地址生成二维码,微信扫描二维码可直接打开网址 html代码: <input id="text" type="text" value=&qu ...
- 微信内置浏览器动态生成二维码并长按识别
现如今围绕微信生态相关开发已经非常常见,本期带来如何通过 qrcode.js 实现微信内置浏览器动态生成二维码并能够长按识别 以及 通过 html2canvas 生成图片并长按保存 说几个知识点 微信 ...
- vue+qrcodejs2 动态生成二维码并下载
安装依赖 npm install --save qrcodejs2 vue页面引用 <script>import QRCode from 'qrcodejs2'import axios f ...
- 【Vue】Vue生成二维码 Vue把url地址生成二维码手机打开 扫一扫手机端打开实战案例 vue生成二维码
代码 npm install qrcodejs2 --save 代码引入到项目中,不需要再main.js做处理,只需要在使用的vue页面中引入. 在页面中使用 <template>< ...
- vue动态生成二维码,扫码登录
首先找到对应的的三个接口 1.二维码获取key接口 接口说明:调用此接口可生成一个key 2.二维码生成接口 接口说明:调用此接口传入上一个接口生成的key可生成二维码图片的base64和二维码信息, ...
- 小程序动态生成二维码
在项目中有一个使用二维码签到的需求,原理很简单,两个不同的账号登录,生成二维码一方向后台请求一个二维码信息的链接,签到的一方扫描二维码读取信息向后台请求校验.这里和后台对接的部分部件,原理已经说了,下 ...
- 前端页面直接根据URL链接生成二维码【亲测可用】
1安装qrcodejs2 npm install qrcodejs2 -save 实操:Terminal下执行 2在所需要的前端页面中引入[找到qrcode.js直接拉到页面中] 或者 import ...
- 使用IDEA创建一个通过url链接生成二维码的java程序|自动生成二维码
平时使用了那么多的二维码,今天我们自己做一个二维码.今天刚安装了IDEA,学会了用法,就来通过IDEA做一个生成二维码的程序. 首先新建一个项目 设置项目名称 点击Next之后,出现下图所示页面: ...
- vue 动态生成二维码 qrcode
1.下载 qrcode npm i qrcode 2.在所需组件使用qrcode <template><div><img :src="qrcode" ...
最新文章
- Spring Boot @ConfigurationProperties使用指导
- [c#]_ELVE_Message多功能用法
- 2020年1月Github上最热门的开源项目
- 制作Windows Server 2008安装启动U盘
- 1142 Maximal Clique (25 分)【难度: 一般 / 知识点: 模拟】
- 用proxool配置数据库连接池步骤
- 傅奎:十年安全路,一颗好奇心
- mysql 获取年预提,【判断题】正确核算待摊费用和预提费用,有助于划分本期费用与非本期费用的界限。...
- Python笔记-内置装饰器
- python123判断性别程序_听说听胎心能够预测宝宝性别?这是真的吗?
- python时间模块哪个好arrow模块_Arrow-一个最好用的日期时间Python处理库
- 安装SQL 2008的错误 等待数据库引擎恢复句柄失败。请查看 SQL Server 错误日志以了解可能的原因
- 项目过程管理(二)工具与流程
- 计算机病毒课后讨论题,《防治计算机病毒》答辩题目及解析
- windows11常用快捷键
- MiniGUI源码分析——GDI概览及Surface
- c语言香农编码文件压缩,谈谈熵编码无损压缩的原理
- 小米3刷android 6.0,安卓6.0版MIUI7曝光:小米3/小米4/小米Note将尝鲜
- java中flist cannot_cannot
- 时间抖动(jitter)--学习笔记