二维码之创建
来源:互联网 发布:如何删掉mac上的软件 编辑:程序博客网 时间:2024/06/07 20:20
在前言中最后部分,提到了二维码开发工具资源ZXing。网上有它最新1.7版的源码,感兴趣的可以下载下来看看,要打包生成core比较麻烦,网上有相关教程。嫌麻烦的朋友,可以去我的资源里下载Java版的core.jar,地址前言最后已经给出。
今天开始介绍利用android生成普通二维码,以及仿新浪微博二维码。话说新浪微博也是采用了ZXing的技术,而腾讯微信,我推测它好像是通过服务器生成后下载下来的。因为每次生成二维码,如果没有网络的情况下就无法得到。
补一句:因为都是java开发语句,所以开发j2me和j2se的也可以参考,创建原理是一样的,只是在最后对生成图片的处理略有不同。
首先,在生成二维码前要设置一些配置参数,也就是要告诉系统你要生成什么样的二维码。关于二维码参数的介绍不是本篇重点,我会放在后面的文章中做系统介绍。
接下来,我们还要告诉系统二维码扫描后的内容,以及采用的编码形式,生成图片的大小:
最后,我们就会得到生成QR二维码数据。但这里只是得到一个由true和false组成的数组,然后你就可以根据此生成图片。下面给出的是android采用Bitmap方式生成的黑白图片:
至此,你已经可以创建出二维码了。接下来,讲一下新浪微博二维码方式。
1、如果要采用在二维码中添加头像,那么生成的二维码最好采用最高等级H级别的纠错能力,目的有两个:一是增加二维码的正确识别能力;二是扩大二维码数据内容的大小。
2、头像大小最好不要超过二维码本身大小的1/5,而且只能放在正中间部位。这是由于二维码本身结构造成的。所以说新浪微博的二维码只是合理的利用了规则而已。
今天开始介绍利用android生成普通二维码,以及仿新浪微博二维码。话说新浪微博也是采用了ZXing的技术,而腾讯微信,我推测它好像是通过服务器生成后下载下来的。因为每次生成二维码,如果没有网络的情况下就无法得到。
补一句:因为都是java开发语句,所以开发j2me和j2se的也可以参考,创建原理是一样的,只是在最后对生成图片的处理略有不同。
首先,在生成二维码前要设置一些配置参数,也就是要告诉系统你要生成什么样的二维码。关于二维码参数的介绍不是本篇重点,我会放在后面的文章中做系统介绍。
ZXing采用Hashtable方式来保存设置参数,比如我们这里设置的纠错能力为H级别,设置编码类型为UTF-8:
接下来,我们还要告诉系统二维码扫描后的内容,以及采用的编码形式,生成图片的大小:
最后,我们就会得到生成QR二维码数据。但这里只是得到一个由true和false组成的数组,然后你就可以根据此生成图片。下面给出的是android采用Bitmap方式生成的黑白图片:
至此,你已经可以创建出二维码了。接下来,讲一下新浪微博二维码方式。
在前言中,已经对新浪微博二维码做了分析,它只是合理的利用了二维码的规则,在二维码基础上增加了一些装饰,也就是说,在生成好的二维码上,贴了张头像照。如果原理大家明白了的话,自己也就可以实现了。我这里附上在二维码图片基础上增加头像的方法:
1、如果要采用在二维码中添加头像,那么生成的二维码最好采用最高等级H级别的纠错能力,目的有两个:一是增加二维码的正确识别能力;二是扩大二维码数据内容的大小。
2、头像大小最好不要超过二维码本身大小的1/5,而且只能放在正中间部位。这是由于二维码本身结构造成的。所以说新浪微博的二维码只是合理的利用了规则而已。
3、如果要仿照腾讯微信,在二维码边上增加装饰框,记得一定要在装饰框和二维码之间留出白边,这是为了二维码可识别。
效果图:
封装好的二维码生成工具类点击查看
阅读全文
0 0
- Unity 之 创建二维码
- 二维码之创建
- php 之 创建永久二维码
- [swift学习之十二]二维码创建练习
- 创建二维码
- C#窗体创建二维码
- Unity3d创建二维码
- 通过Unity3d创建二维码
- WPF 创建二维码
- Unity中创建二维码
- IOS创建二维码
- CIFilter 创建二维码
- php创建二维码
- java创建二维码
- 扫描和创建二维码
- iOS 创建彩色二维码
- iOS 创建二维码图片
- 通过Unity3d创建二维码
- 学习AOP之透过Spring的Ioc理解Advisor
- xxx.forEach is not a function(DOM集合--类数组对象转化为数组)
- 第六章 注解式控制器详解——跟着开涛学Spring-(SpringMVC强大的数据绑定)
- javaWeb的过滤器(Filter)
- 马太效应
- 二维码之创建
- 小白菜的问题~
- iOS Xcode8 关闭控制台不输出信息~解决方法
- 7 访问路径概述--优化主题系列
- STL容器deque
- iOS 二维码的生成,以及自定义弹框Alert,使用及demo
- 用25行JavaScript语句实现一个简单的编译器
- Python汇总
- 第六章 注解式控制器详解——跟着开涛学Spring-(SpringMVC强大的数据绑定(2))