文档章节

个性二维码开源专题<基础篇>

cheng5x
 cheng5x
发布于 2014/06/07 14:55
字数 915
阅读 818
收藏 47

二维码原理介绍:

二维码为什么是黑白相间的?黑色表示二进制的“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 = 0,
        NUMERIC = 1,
        BYTE = 2,
}/// <summary>/// 二维码容错率/// </summary>public QRCodeEncoder.ERROR_CORRECTION QRCodeErrorCorrect { get; set; }public enum ERROR_CORRECTION
{
        L = 0,
        M = 1,
        Q = 2,
        H = 3,
 }  /// <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 = 4;

 

其他就不一一示例了,都大同小异的。

希望这篇文章对大家,研究二维码有更深的认识。

 

 以下是开源地址,国外github,国内oschina.net

oschina.net:

http://git.oschina.net/cheng5x/Yc.QrCode

 

github:

https://github.com/cheng5x/YcQrCode

 

官方网站:
http://original-ad.com

码晒客讨论QQ群:
28629273

 

© 著作权归作者所有

共有 人打赏支持
cheng5x
粉丝 9
博文 11
码字总数 6729
作品 2
佛山
项目经理
私信 提问
加载中

评论(2)

cheng5x
cheng5x

引用来自“kimmking”的评论

只开源了example
已经好详细的开源代码,而且带有 愤怒的小鸟 逻辑代码。
kimmking
kimmking
只开源了example
个性二维码开源专题

基础方法: ChangeFillShape //修改填充形状ChangeFillShape(...) View Code //液化方法InkPaint(...) View Code //圆角样式 for (int i = 0; i < matrix.Length; i++) { for (int j = 0; j ......

cheng5x
2014/07/05
0
0
个性二维码开源专题

基础方法:ChangeFillShape //修改填充形状ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // Forebrush: // 填充色 // // rect: // 区域 //...

cheng5x
2014/06/09
0
4
⑦期赠书活动!赠送15本springcloud纸质书籍!!!

  点击上方“java进阶架构师”,选择右上角“置顶公众号”   20大进阶架构专题每日送达   进阶架构精品专题   Mysql优化专题(★★★★)   网络协议专题(★★★★)   其余18大...

java进阶架构师
12/03
0
0
个性二维码开源专题

基础方法: ChangeFillShape //修改填充形状ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // Forebrush: // 填充色 // // rect: // 区域 // // enfill...

cheng5x
2014/06/19
0
3
高级软件测试自学视频(性能、自动化、安全、手机app、管理)

恭喜“小强系列测试课程获得国家版权认证保护”,我们从不BB,只动手干! 《小强软件测试疯狂讲义》书籍出版,各大网店均可购买 “三级火箭”学习方式 1、参加培训班,由老师亲自上课进行讲解...

xqtesting
2015/06/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
35分钟前
2
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
6
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
6
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
5
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部