java实现二维码的生成.
目录 1.二维码概念 2.二维码发展历史 3.二维码分类 4.二维码优缺点 5.QR Code
1.二维码又称 二维条码 (2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维码上)分布的黑白相间的图形记录数据符号信息的图形。
2二维码发展历史
1.20世纪20年代 约翰 科芒德实现邮政单据自动分拣方法,
2.1949年美国乔 伍德兰德 伯尼西尔沃发明第一个条码专利,
3.1959年 吉拉德 费伊塞尔申请了用条形码表示数字的专利,
4.60年代 西尔沃尼亚发明一套条形码系统并在北美铁路系统成功应用,
5.70年代,UPC码(Universal Product Code)在北美超市得到广泛应用,
6.1988年中国成立了中国物品编码中心,80年代未国外研制出二维码,
7.1997年到2000年确定了国家标准
3.二维码分类

1. 一维条码是由一组粗细不同,黑白(或彩色)相间的条,空及其相符的字符(数字字母)组成的标记,即传统条码。

2. 二维条码是用某种特定的几何图形按一定规律在平面(二维码上上分布的条,空间的图形来记录数据符号信息
二维条码也有许多不同的码制,就码制的编码原理而言,通常分为三种
类型:
1.线性堆叠式二维码
编码原理: 建立在一维条码基础上,按需要堆积成两行或多行。

2.矩阵式二维码
在一个矩形空间通过黑,白像素在矩阵中的不同分布进行编码的出现表示二进制“1”点的不出现表示二进制的“0”

3.邮政码
邮政码通过不同长度的条进行编码,主要用于邮件编码,
POSTNET、
BPO 4-STATE。
4. 二维码优缺点


5. QR Code
目前流行的三大国标准:
PDE417:不支持中文
DM:专利未公开,需要支付专利费用
QR Code:专利公开,支持中文
QR Code比其他二维码相比,具有识读速度快,数据度大,占用空间小的优势。
QR Code 是由日本Denso公司于1994年研制的一种矩阵二维码符号码,全称是Quick Response Code。

纠错能力
L级: 约可纠错7%的数据码字M级: 约可纠错15%的数据码字Q级: 约可纠错25%的数据码字H级: 约可纠错30%的数据码字

6. 二维码制作:Java语言开发
首先引入zxing的jar包

jar包:链接:https://pan.baidu.com/s/1GzjQOqWhZYPsL0uzf569dw 密码:kril
详细操作:
package cn.code; import java.io.File;
import java.nio.file.Path;
import java.util.HashMap; import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; public class Zxing {
public static void main(String[] args) {
Zxing zxing = new Zxing(); // 传参:二维码内容和生成路径
if (zxing.orCode("https://www.cnblogs.com/lsy131479/", "F:\\1.jpg")) {
System.out.println("ok,成功");
} else {
System.out.println("no,失败");
}
} private boolean orCode(String content, String path) {
/*
* 图片的宽度和高度
*/
int width = ;
int height = ;
// 图片的格式
String format = "png";
// 二维码内容
// String content = "hello,word"; // 定义二维码的参数
HashMap hints = new HashMap();
// 定义字符集编码格式
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 纠错的等级 L > M > Q > H 纠错的能力越高可存储的越少,一般使用M
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
// 设置图片边距
hints.put(EncodeHintType.MARGIN, ); try {
// 最终生成 参数列表 (1.内容 2.格式 3.宽度 4.高度 5.二维码参数)
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
// 写入到本地
Path file = new File(path).toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, file);
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} } }
其他方式(不再赘述):
1.or code 生成及解析
2.jQuery-qrcode 生成及解析
java实现二维码的生成.的更多相关文章
- Java 条形码 二维码 的生成与解析
Barcode简介 Barcode是由一组按一定编码规则排列的条,空符号,用以表示一定的字符,数字及符号组成的,一种机器可读的数据表示方式. Barcode的形式多种多样,按照它们的外观分类: Lin ...
- 关于java的二维码的生成与解析
本文说的是通过zxing实现二维码的生成与解析,看着很简单,直接上代码 import java.io.File; import java.io.IOException; import java.nio ...
- 关于用Java实现二维码的生成
昨天晚上看了一个视频讲的是web端把名片搞成二维码的形式,觉得挺有意思的,不过我还是初学,所以就没在网页端实现,写了命令行程序. 虽然看着程序很短,不过写的过程中还是出了问题, 最致命的就是 Grap ...
- java实现二维码的生成和解读
Java利用QRCode.jar包实现二维码编码与解码 QRcode是日本人94年开发出来的.首先去QRCode的官网http://swetake.com/qrcode/java/qr_java. ...
- java实现二维码的生成与解析
简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片,而解析二维码则相反,就是将一张经过编码的图片解析为数字或者文字. 当然 ...
- 【Java】Java实现二维码的生成与解析
pom依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</ ...
- java实现二维码的生成和解析:QRCode、zxing 两种方式
第一种:QRCode.jar,使用QRCode生成和解析二维码 1.导入jar包 2.代码 (1)QRCodeUtil .java import com.swetake.util.Qrcode; i ...
- JAVA开发--[二维码名片生成系统]
上个月学校有个软件创新杯,最近看了网上很火的二维码比较不错.参考了国内国外一些技术文章,发现国外的确实好很多. 用的是QRcode包来实现的,基本常见的功能全部实现了. 因为刚学2个月,部分做得不是很 ...
- Android zxing 解析二维码,生成二维码极简demo
zxing 官方的代码很多,看起来很费劲,此demo只抽取了有用的部分,实现了相机预览解码,解析本地二维码,生成二维码三个功能. 简化后的结构如下: 废话少说直接上代码: BaseDecodeHand ...
随机推荐
- JZ2440学习笔记之链接文件lds
如果在Linux环境下用arm-linux-gcc来编译arm程序,需要编写链接文件lds: 1. 运行地址=链接地址,表示代码在SDRAM中执行的地址,如果程序中有对某部分代码执行过搬运,需要在ld ...
- linux环境中通过/dev/urandom设备产生随机密码
需求说明: 今天在调试SVN的时候,需要创建用户的随机密码,想了下,在linux环境中是否能够生成呢,就搜索了下, 然后结合看到的帖子,分析一个可以生成密码的命令,在此记录下. 操作过程: 1.通过/ ...
- C#线程同步(2)- 临界区&Monitor
文章原始出处 http://xxinside.blogbus.com/logs/46740731.html 预备知识:C#线程同步(1)- 临界区&Lock 监视器(Monitor)的概念 可 ...
- 对Activity的DecorView的包装(二)
看了下公司的系统代码对于根布局decor_layout.xml的修改, 有所获. 前些时候才开始做系统开发的时候, 总想改改系统的源码, 至于原因: 人总是想装装, 在踩过几个别人修改的坑后, 还是觉 ...
- MySQL 常用30种SQL查询语句优化方法
1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...
- 阿里云centos怎么用xshell5登陆
第一种是用ssh,安装Xshell5 打开XShell 新建会话输入ip 选择新建的会话,点击连接,选择接受并保护,输入root,点击确定 输入密码 已经连接成功了,用Xshell ...
- Manjaro搭建无密访问samba服务器
为了方便Linux在Windows平台下开发,搭建Manjaro无密访问samba服务器 后面加了Windows下搭建samba方法 安装smb服务器 我用的是Manjaro gnome 18,需要安 ...
- 2019 年 GrapeCity Documents 产品路线图
前言 | 问题背景 随着软件行业引入新的硬件和操作系统,我们看到更多的托管框架与.NET技术保持同步.Microsoft的.NET Standard和.NET Core定义了一个跨平台规范,为应用程序 ...
- C#项目中操作Excel文件——使用NPOI库
转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包 ...
- ssh连接所生成的known_hosts出现的问题
问题现场及解析 用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts.当下次访问相同计算机时,OpenSSH会核对公钥.如果 ...