生成二维码两种方法

3分钟搞定!用qrcode.min.js在网页中动态生成可下载的二维码(附完整代码) 本文详细介绍了如何利用轻量级JavaScript库qrcode.min.js,在网页前端快速构建一个功能完备的动态二维码生成器。通过完整的代码示例,演示了从基础集成、动态生成到一键下载图片的全过程,并提供了添加Logo、自定义样式及配置持久化等进阶功能,帮助开发者3分钟内实现可投入生产环境的二维码生成解决方案。 阅读详情

1、使用前端jquery.qrcode.min.js框架生成二维码

    在https://github.com/jeromeetienne/jquery-qrcode上下载对应的夹包,生成二维码的JSP页面如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>生成二维码</title>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.qrcode.min.js"></script>
<!--或者使用如下引入方式也可
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>   
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.qrcode.min.js"></script> 
 -->

</head>
<body>
	<script type="text/javascript">
		//将Unicode编码转为UTF-8编码
		function utf16to8(str) {
			var out, i, len, c;
			out = "";
			len = str.length;
			for (i = 0; i < len; i++) {
				c = str.charCodeAt(i);
				if ((c >= 0x0001) && (c <= 0x007F)) {
					out += str.charAt(i);
				} else if (c > 0x07FF) {
					out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
					out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
					out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
				} else {
					out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
					out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
				}
			}
			return out;
		}
	</script>

	<h1>生成二维码</h1>
	<div id="qrcode"></div>
	<script type="text/javascript">
		var str = "清华大学";
		var out = utf16to8(str);
		//jQuery('#qrcode').qrcode(out);
		jQuery('#qrcode').qrcode({
			width : 300,
			height : 300,
			text : out
		});
	</script>
</html>


2、使用后端的zxing夹包生成二维码

    在GitHub上面有开源项目https://github.com/zxing/,下载到本地后解压缩,将core和javase文件夹中的所有.java文件拷贝到Java项目中,然后export为zxing.jar的夹包,作为项目的引用。

生成二位码的源码如下:

public class Genarate2DCode {   
	public static void main(String[] args) throws Exception {
		//二维码宽度
		int width=300;
		//二维码高度
		int height=300;
		//二维码图片格式
		String format="png";
		//二维码内容,这里为VCard规范,可以保存个人名片信息
		String contents=
				"BEGIN:VCARD"+"\n"
		        +"VERSION:2.1"+"\n"
				+"N:姓;名"+"\n"
				+"FN:姓名"+"\n"
				+"NICKNAME:昵称"+"\n"
				+"ORG:公司;部门"+"\n"
				+"TITLE:职位"+"\n"
				+"TEL;WORK;VOICE:工作电话"+"\n"
				+"TEL;HOME;VOICE:家庭电话"+"\n"
				+"TEL;CELL;VOICE:移动电话"+"\n"				
				+"ROLE:职称"+"\n"
				+"ADR;WORK:门牌号;街道;福田;深圳;广东;30314;国家"+"\n"				
				+"ADR;HOME:门牌号;街道;盐田;深圳;广东;30314;国家"+"\n"
				+"EMAIL;PREF;INTERNET:邮箱地址"+"\n"	
				+"URL:https://www.baidu.com"+"\n"
				+"BDAY:出生日期"+"\n"
				+"PHOTO;VALUE=uri:https://timgsa.baidu.com/timg?xxxx"+"\n"
				+"REV:20080424T195243Z"+"\n"
				+"END:VCARD";
		
		//定义二维码参数的哈希映射表
		HashMap<EncodeHintType,Object> hints=new HashMap<EncodeHintType,Object>();
		//编码方式,支持中文
		hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
		//容错等级
		hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
		//二维码边距
		hints.put(EncodeHintType.MARGIN, 1);
		//生成点阵
		BitMatrix bitMatrix=new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height,hints);
		Path file=new File("E:/Img.png").toPath();
		MatrixToImageWriter.writeToPath(bitMatrix, format, file);		
	}	
}


  二维码扫描结果为:



识别二维码的源码如下:

public class ReadQRCode {
	public static void main(String[] args) throws Exception {
		MultiFormatReader multiFormatReader = new MultiFormatReader();

		File file = new File("E:/Img.png");
		BufferedImage image = ImageIO.read(file);
		BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
		
		// 定义二维码参数的哈希映射表
		HashMap<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>();
		// 编码方式,支持中文
		hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
                //输出识别结果
		Result result = multiFormatReader.decode(binaryBitmap, hints);
		System.out.println(result);

	}

}


   

二维码生成神器:jquery.qrcode.min.js 插件应用详解 本文还有配套的精品资源,点击获取 简介:介绍如何在网页中使用 jquery.qrcode.min.js 生成二维码,以及该插件的特点和配置方法。 jquery.qrcode.min.js 是一个依赖于jQuery的轻量级JavaScript插件,可以将给定数据转化成二维码图像元素。使用该插件可以轻松地将二维码整合到网站中,便于用户通过手机扫描获取... 阅读详情

相关推荐

qrcode.min.js 生成二维码

页面引入qrcode.min.js 案例: $("#qrcode").html(""); new QRCode($("#qrcode")[0],{ text: data.url, //内容 width:78, //宽度 height:78, //高度 correctLevel: 3,//二维码纠错级别 background: "#ffffff",//背景颜色 foreground: "#000000"//二维码颜色 });

使用qrcode.min.js生成动态二维码的两种方法

使用qrcode.min.js生成动态二维码的两种方法

baicaimuban的博客 2650

QRcode.min.js 二维码生成库[源码]

qrcode.min.js 是一个基于 JavaScript 的开源二维码生成库,适用于网页开发,无需安装第三方依赖。该库轻量级、兼容性强,支持现代浏览器,生成二维码后可直接嵌入网页或下载为图片。使用方法简单,只需引入文件并调用 QRCode 对象即可生成二维码。示例代码展示了如何快速集成到项目中。该库开源免费,适合老项目或需要快速生成二维码的场景。项目地址和下载链接已提供,方便开发者获取和使用。

Java生成二维码的两种方法

自定义工具包就是借助google生成二维码的依赖包,然后自己写工具类。-- 生成二维码核心组件 --> < dependency > < groupId > com.google.zxing < artifactId > core < version > 3.4.1

qq_42068856的博客 8354

从零开始:如何用STM32和MAX30100打造你的第一台智能心率监测设备

本文详细介绍了如何使用STM32微控制器和MAX30100传感器从零开始构建智能心率监测设备。涵盖硬件选择、电路设计、软件开发到心率算法实现的全过程,特别适合嵌入式开发新手和创客。通过OLED显示和蓝牙串口传输数据,打造低成本、高精度的心率检测仪,为健康监测项目提供实用解决方案。

7z8x2c4v6b9的博客 192

KALI虚拟机挂代理教程

需要你本地挂了代理,然后通过虚拟机连接本机代理端口,不说废话了,直接说怎么做了。 1.查看选项设置中自己的小飞机的本地端口是多少:(默认是1080) 2.本机win+r打开cmd,输入ipconfig查看本地ip,我的本地ip是192.168.0.107: 2.打开kali虚拟机,编辑ProxyChains配置文件: vi /etc/proxychains.conf 3.在文件末尾的ProxyList中添加物理机本地ip和1080端口作为代理地址: 4.保存并退出即可: esc :wq 回车 5.

qq_34853514的博客 3万+

二维码生成的两种方法

最近项目中需要开发生成二维码的功能,方便使用手机支付,在网上查了一些资料,把用过的方法进行总结。 1.前端js生成二维码 demo下载:http://download.csdn.net/download/yin767833376/10165335 html页面代码: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta chars...

qq_41904213的博客 1124

京东联盟h5st(3.1)加密参数逆向实战与反爬对抗策略

本文详细解析了京东联盟h5st(3.1)加密参数的逆向分析与实战破解过程。通过接口分析定位关键加密函数,拆解h5st结构并还原其基于SHA256和HMAC-SHA256的加密逻辑,最终使用Python集成JavaScript环境成功复现加密算法,并分享了应对反爬的频率限制、IP封禁及算法升级等对抗策略。

weixin_29246195的博客 1740

二维码的两种生成方法(前端js生成,后端java生成)

最近项目中需要开发生成二维码的功能,方便使用手机支付,在网上查了一些资料,把用过的方法进行总结。 1.前端js生成二维码 demo下载:http://download.csdn.net/download/yin767833376/10165335 html页面代码:                   Render in table Rend

菜鸟笔记 5万+

服务器测试之网卡性能调优

nvidia下载mlnx_ofed:https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/intel下载驱动固件:https://www.intel.com/content/www/us/en/download-center/home.html。然而,你可以根据实际情况手动调整中断相关配置。老生常谈了,一些性能相关的设置项打开,节能的关闭,虚拟化相关的VMX/SR-IOV/IOMMU最好也都关掉。

qq_41897488的博客 4908

#systemverilog# 之 event region 和 timeslot 仿真调度(三)Verdi 辅助查看

通过今天的学习,我们知道:event region 是event sequence 的全集。我们打开了 event region feature 也就开启了event sequence 的功能。

那么菜的博客 1366

在web页面上快速生成二维码的两种实用方法

二维码是桌面和移动端快速分享的高效手段之一,这里介绍两个不错的快速开发二维码的方法,和大家分享一下~~ 方法1:使用新浪提供的服务 这种方式简单快速,在服务端生成一个二维码的图片,兼容性比较好,你无需自己处理任何相关二维码的生成,只需要提供一端文字或者url即可,方法如下: src="http://qrcoder.sinaapp.com?t=http://www.gbtags.co

凡是皆正面、能量变无限 1245

24届数字IC设计/验证秋招总结贴——先看这个

为方便快速进行查找该专栏的内容,将所有内容链接均放在此篇博客中整理不易,欢迎订阅~~

qq_42135020的博客 8416

两种JAVA生成带logo二维码的方法

一、方法一 只使用一个zxing.jar生成二维码,下载地址http://central.maven.org/maven2/com/google/zxing/core/ 项目目录 QRCodeUtil.java(用于生成二维码的工具类) impo...

qq_40348465的博客 941

手把手教你学Simulink实例--基于Simulink的电动汽车无线充电效率优化仿真

​市场规模:2025年全球无线充电市场规模将达$27亿(MarketsandMarkets数据)​技术标准Qi v1.3(最高150W)WiTricity(200W动态功率)ISO 17163(道路车辆无线充电)​节能效果:每kWh充电减少120W损耗(按每天8小时)​成本分析线圈成本:35vs58(传统方案)效率提升带来的续航增加:15km/100km。

xiaoheshang_123的博客 345

《UDS协议从入门到精通》系列——图解0x23:通过地址读取内存

如何读取ECU中指定内存地址的数据?图解UDS 0x23服务带你快速上手!!

车载系统攻城狮 2623

jquery生成二维码怎么添加图片(两种方法)

github项目地址:https://github.com/fengliting/erweima 注意:这里实现的是第一个方法 自动生成二维码里面添加图片,有两种方法,一种是使用jquery原生的二维码插件,一种是别人有改动过的二维码插件,生成二维码的图片的时候有那么一些写的差别 第一种:使用的是原生的qrcode.js生成二维码加上图片 页面 <div class="m...

flting1017的博客 7276

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

根据url生成二维码,扫描打开url的两种方法编辑器

js 根据url生成二维码,扫描打开url的两种方法 场景 产品给你一个url,让你做一个二维码,扫描二维码之后打开对应的url链接。 比如:扫描之后弹出一个下载app的页面。 实现 先上html代码: <div class="qrcode-wrapper"> <img src="../static/assets/qrcode.png" title="APP下载二维码" class="image-sign" onmouseover="showQrcodeImage()"

yorcentroll的博客 2128

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

使用PHP生成二维码的两种方法(带logo图像)

一、利用Google API生成二维码Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体...

weixin_30955617的博客 102

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

生成带参数微信二维码两种方法整理

生成带参数二维码的两种方法需求介绍实现思路方法一:通过微信生成带参数的二维码图片方法二:通过ZXing生成带参数的二维码图片 需求介绍 业务需求,用户微信扫描二维码进入公众号中的某一个业务页面并可以完成相应的业务操作。 例如我的需求就是:用户扫描二维码进入公众号的居民满意度调查页面,用户在调查页面进行打分操作。 实现思路 生成包含小区ID和需要跳转的也公众号授权页面服务器路径参数的二维码图片; 将带参数的二维码图片保存至对应的图片服务器中。 生成对应的小区满意度调查通知(通知包含公众号二维码)。 打印通知

小白笔记本 5280

[PHP] 生成二维码(两种方法)

PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo, 查看地址:http://phpqrcode.sourceforge.net/。 下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。 phpqrcode.php提供了一个关键的png()方法,其中参数text表示生成...

www3300的博客 272

生成微信公众号对应二维码的两种简单方法

方法1 在浏览器中打开下面的链接 https://open.weixin.qq.com/qr/code?username=Name 其中Name替换为对应公众号的微信号 例如,我们打算生成公众号 AI算法联盟 的二维码 只需首先关注这个公众号 在其详细信息中,查找到微信号信息:AIReport 因此在浏览器中访问下面链接即可生成二维码: https://open.weixin.qq.com/q...

随煜而安的专栏 1万+
上一篇: 用SpringMVC框架实现图片上传与下载
下一篇: 使用JPCAP实现ARP欺骗
蓬莱道人
博客等级 码龄11年 766粉丝 274原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值