标签:eclipe jar ima int 能力 好的 密度 logs 导入
二维码
二维码的起源
二维码技术诞生于20世纪40年代,但得到实际应用和迅速发展还是在近20年间。在通用商品条码的应用系统中,最先采用的是一维码,国外对二维码技术的研究始于20世纪80年代,在二维码符号表示技术研究方面,已研制出多种码制,常见的有PDF417,QR Code,Code 49,Code 16K,Code One等。这些二维码的密度都比传统的一维码有了较大的提高。专家介绍说,在二维码标准化研究方面,国际自动识别制造商协会(AIM)、美国标准化协会(ANSI)已完成了PDF417,QR Code,Code 49,Code 16K,Code One等码制的符号标准。在二维码设备开发研制、生产方面,美国、日本等国的设备制造商生产的识读设备、符号生成设备,已广泛应用于各类二维码应用系统。
3.二维码的分类
1.线性堆叠式二维码
2.矩阵式二维码
3.邮政码
4.二维码的优缺点
优点:
1.高密度编码,信息容量大
2.编码范围广
3.容错能力强
4.译码可靠性高
5.可引入加密措施
6.低成本,易制作,持久耐用
缺点:
1.二维码技术成为手机病毒、钓鱼网站传播的渠道
2.信息泄露
5.二维码特点
6.三种实现制作二维码
方法一:借助第三方jar:zxing
与zxing-zxing-3.3.0\javase\src\main\java\com的com文件夹拷进src项目下,点击Export导出jar包,命名为zxing.jar包
3.生成二维码
新建一个java项目,并新建一个lib文件夹,将zxing.jar包copy进lib文件夹
/**
* 生成二维码
* @author 佳先森
*
*/
public class CreateQRCode {
public static void main(String[] args) {
int width=300;
int height=300;
String format="png";
String content="www.baidu.com";
//定义二维码的参数
HashMap hints=new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//设置错误等级:L为最小,M为中,Q偏大,H最大,等级越大,所存储内容越小
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//设置四周边距
hints.put(EncodeHintType.MARGIN, 2);
//生成二维码
try {
BitMatrix bitMatrix=new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);
Path file=new File("D:/zwing/img.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.解析二维码
/**
* 解析二维码
* @author 佳先森
*
*/
public class ReadQRCode {
public static void main(String[] args) {
MultiFormatReader formatReader=new MultiFormatReader();
File file=new File("D:/zwing/img.png");
BufferedImage image;
try {
image = ImageIO.read(file);
//定义二维码的参数
HashMap hints=new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BinaryBitmap binaryBitmap=new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
Result result=formatReader.decode(binaryBitmap);
System.out.println("解析结果如下:"+result.toString());
System.out.println("二维码格式类型:"+result.getBarcodeFormat());
System.out.println("二维码文本内容:"+result.getText());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
5.在指定的文件夹下可以看到所生成的二维码
方法二:借助qecode.jar包(这里不演示)
方法三:JavaScript
1.导入两个js文件
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.qrcode.min.js"></script>
2.编写生成二维码代码
<body>
<h3>生成的二维码如下</h3>
<div id="qrcode"></div>
<script type="text/javascript">
jQuery(‘#qrcode‘).qrcode("http://www.baidu.com");
</script>
</body>
4.通过浏览器输入域名访问查看二维码
7.扩展:
1.注意访问的内容写法
若写成:www.baidu.com 只能视为文本
若写成: http://www.baidu.com 直接通过链接进入官网
2.实现二维码实现二维码扫描名片,得遵守VCard标准
标签:eclipe jar ima int 能力 好的 密度 logs 导入
原文地址:http://www.cnblogs.com/cailijia52o/p/7634343.html