个性二维码开源专题<基础篇>
二维码原理介绍:
二维码为什么是黑白相间的?黑色表示二进制的“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的输出效果,结果由于公司奇葩的 ...
随机推荐
- java, poi, excel
工作需要用java操作Excel,现在网上搜索了一下,决定选取POI包来操作.pom内容如下: <dependency> <groupId>org.apache.poi< ...
- Python自动化 【第四篇】:Python基础-装饰器 生成器 迭代器 Json & pickle
目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结构规范 1. Python装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: ...
- Mysql命令行中文乱码的解决方法
环境:Windows 8 64位,Mysql 5.0.96 for Win64 (x86) 数据库本身安装时默认已经是使用utf8编码的了,但在命令行中执行查询时,查询到的中文依然乱码,解决方法如下 ...
- 循序渐进Python3(六) -- 初识内置变量、反射、递归
#python用下划线作为变量前缀和后缀指定特殊变量.稍后我们会发现, #对于程序来说,其中的有些变量是非常有用的,而其他的则是未知或者无用的. #我们总结一下Python中下划线的特殊用法 ...
- centos dns配置
vi /etc/sysconfig/network-scripts/ifcfg-[tab两下] 新增以下修改 ONBOOT=yes #开启自动启用网络连接 IPADDR0=192.168.21.12 ...
- ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆AnalyzerTool分词工具.非常实用!
AnalyzerTool分词工具.非常实用! 可以查看某串字符最终被分割成什么样子,这样便于查询时深刻明白为什么有的查不到有的却能查到. package com.isoftstone.www.tool ...
- web工程中URL地址的推荐写法
三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb ...
- js截取字符串显示引号两种方法
//截取字符串多余显示引号 var cutStrForNum = function (str, num) { var len = 0; for (var i = 0; i < str.lengt ...
- IOS一些好的用户体验设置
1,下载图片时,如果 用户操作UI,那么就停止子线程,用户停止操作子线程时,开启子线程继续下载. SDWebImage :专门下载图片. 2,网络请求时.本地要进行一些验证,以减少服务器的压力.
- c#开发Mongo笔记第八篇
到今天为止,Mongo开发的权限管理系统功能就做完了,剩下的就是完善构架,优化结构,只是现在c#操作Mongo的各种操作基本都掌握了 说到权限管理系统,其实再简单不过了,在关系型数据的是时代,我们通常 ...