个性二维码开源专题<基础篇>
二维码原理介绍:
二维码为什么是黑白相间的?黑色表示二进制的“1”,白色表示二进制的“0”
“我们之所以对二维码进行扫描能读出那么多信息,就是因为这些信息被编入了二维码之中。”黄海平说,“制作二维码输入的信息可以分成三类,文本信息,比如名片信息;字符信息,比如网址、电话号码;还有图片信息,甚至还可以包括简短的视频。”数据信息是怎么被编入的呢?信息输入后,首先要选择一种信息编码的码制。现在常见的二维码都是以QR码作为编码的码制。QR码是矩阵式二维码,它是在一个矩形空间内,通过黑、白像素在矩阵中的不同分布,来进行编码的。我们知道电脑使用二进制(0和1)数来贮存和处理数据,而在二维码中,用黑白矩形表示二进制数据我们肉眼能看到的黑色表示的是二进制“1”,白色表示二进制的“0”,黑白的排列组合确定了矩阵式二维条码的内容,以便于计算机对二维码符号进行编码和分析。
百度经验:http://jingyan.baidu.com/article/86f4a73e520e3b37d6526981.html

开始使用:
命名规则最好遵守,因为套入模版使用的是反射技术,对前缀命名有要求。
1.创建类库
命名Yc.QrcodeLib.xxx

2.创建类
命名QrEncode

手脚架:

基础参数:
/// <summary>
/// 二维码默认参数
/// </summary>
QRCodeEncoder
/// <summary>
/// 二维码大小
/// </summary>
public int QRCodeScale { get; set; } /// <summary>
/// 二维码版本(默认0时,自动适应版本)
/// </summary>
public int QRCodeVersion { get; set; } /// <summary>
/// 二维码编码
/// </summary>
public QRCodeEncoder.ENCODE_MODE QRCodeEncodeMode { get; set; } public enum ENCODE_MODE
{
ALPHA_NUMERIC = ,
NUMERIC = ,
BYTE = ,
} /// <summary>
/// 二维码容错率
/// </summary>
public QRCodeEncoder.ERROR_CORRECTION QRCodeErrorCorrect { get; set; } public enum ERROR_CORRECTION
{
L = ,
M = ,
Q = ,
H = ,
}
/// <summary>
/// 二维码容边距
/// </summary>
public int FrameSpacing { get; set; }
/// <summary>
/// 二维码容高边距
/// </summary>
public int FrameSpacingH { get; set; }
/// <summary>
/// 二维码容宽边距
/// </summary>
public int FrameSpacingW { get; set; }
基础方法:
/// <summary>
/// 修改填充形状
/// </summary>
ChangeFillShape(...)
填充色示例:
QRCodeEncoder _qrCodeEncoder = new QRCodeEncoder();
_qrCodeEncoder.QRCodeForegroundColor = Color.Red;

背景色示例:
QRCodeEncoder _qrCodeEncoder = new QRCodeEncoder();
_qrCodeEncoder.QRCodeBackgroundColor = Color.Red;

边距示例:
QRCodeEncoder _qrCodeEncoder = new QRCodeEncoder();
_qrCodeEncoder.FrameSpacing = ;

其他就不一一示例了,都大同小异的。
希望这篇文章对大家,研究二维码有更深的认识。
以下是开源地址,国外github,国内oschina.net
oschina.net:
http://git.oschina.net/cheng5x/Yc.QrCode
github:
https://github.com/cheng5x/YcQrCode
码晒客讨论QQ群:
28629273
个性二维码开源专题<基础篇>的更多相关文章
- 个性二维码开源专题<后背景>
//设置图片资源 private Image img1; public override void SetParam() { base.SetParam(); //读取图片 string _image ...
- 个性二维码开源专题<前背景>
//设置图片资源 private Image imgAgo; public override void SetParam() { base.SetParam(); // 读取前背景 string _i ...
- 个性二维码开源专题<液化/圆角/效果>
基础方法: ChangeFillShape //修改填充形状 ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // F ...
- 个性二维码开源专题<替换元素点>
基础方法:ChangeFillShape //修改填充形状 ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // Fo ...
- 个性二维码开源专题<替换定位点>
基础方法: ChangeFillShape //修改填充形状 ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // F ...
- 个性二维码开源专题<介绍篇>
由C#编写的个性二维码底层,已应用到 码晒客/疯狂创意二维码等项目上,并获得多项软件著作专利. 疯狂创意二维码 疯狂创意二维码是可用于生成风格独特的个性化二维码生成器,用户可以将目标信息输入到二维码生 ...
- Android二维码开源项目zxing用例简化和生成二维码、条形码
上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的測试程序:CaptureActivity比較复杂,我仅仅要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自 ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- 二维码开源库ZBar-吐槽篇
前不久在网上看到一篇文章<QR-Decoder-OV5640 二维码识别> ,是某开发板的教程.记得对应的开发板以前购买过,当初只是为了看OV5640的JPG的输出效果,结果由于公司奇葩的 ...
随机推荐
- Form文件夹开发步骤
1.开发完一个Form,测试OK 1.添加Object Groups 操作如下:在同一窗口打开标准的Form APPSTAND.FMB 和我们自己客制的Form,并且选择APPSTAND.FMB的Ob ...
- TCP报文段首部详解
TCP虽然是面向字节流的,但是tcp传送的数据单元却是报文段,一个报文段分为首部和数据两部分,几乎TCP所有功能都从首部来体现,下面我们来详细的剖析下它的首部. (1):源端口与目标端口:分别写入源端 ...
- Python自动化 【第一篇】:Python简介和入门
Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单”. 二.Python由来 python的创始人为吉多·范 ...
- objective c, category 和 protocol 中添加property
property的本质是实例变量 + getter 和 setter 方法 category和protocol可以添加方法 category 和 protocol中可以添加@property 关键字 ...
- php 文件读取
整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...
- spring junit
转载自 http://blog.csdn.net/funi16/article/details/8691575 在写单元测试的时候,一般是对数据库进行增删改查的操作,这个时候,如果之前删除了某条记录, ...
- java 封装httpclient 的get 和post 请求
import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.util. ...
- oracle常用操作指令
1.cmd sqlplus /nolog; 2.conn sys/ as sysdba; 3.create user query identified by query;//创建用户 4.al ...
- (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- linux桌面环境gnome,kde,xfce,lxde 使用比较(转)
Linus Torvalds大神前几日在 Google+上表示,GNOME 3"无可容忍的凌乱",改投Xfce桌面环境.下面就GNOME, KDE, XFCE和 LXDE略作比较. ...