码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-06-07 23:02:52      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:des   c   style   class   blog   code   

二维码原理介绍:

二维码为什么是黑白相间的?黑色表示二进制的“1”,白色表示二进制的“0”

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

 

百度经验:http://jingyan.baidu.com/article/86f4a73e520e3b37d6526981.html

bubuko.com,布布扣

 

开始使用:

命名规则最好遵守,因为套入模版使用的是反射技术,对前缀命名有要求。

 

1.创建类库

命名Yc.QrcodeLib.xxx 

bubuko.com,布布扣

2.创建类

命名QrEncode

bubuko.com,布布扣

手脚架:

bubuko.com,布布扣

基础参数:

bubuko.com,布布扣
/// <summary>
/// 二维码默认参数
/// </summary>
QRCodeEncoder 
bubuko.com,布布扣
bubuko.com,布布扣
/// <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; }
bubuko.com,布布扣

基础方法:

bubuko.com,布布扣
/// <summary>
/// 修改填充形状
/// </summary>
ChangeFillShape(...)
bubuko.com,布布扣

 

填充色示例:

bubuko.com,布布扣
QRCodeEncoder _qrCodeEncoder = new QRCodeEncoder();
_qrCodeEncoder.QRCodeForegroundColor = Color.Red;
bubuko.com,布布扣

bubuko.com,布布扣

背景色示例:

bubuko.com,布布扣
QRCodeEncoder _qrCodeEncoder = new QRCodeEncoder();
_qrCodeEncoder.QRCodeBackgroundColor = Color.Red;
bubuko.com,布布扣

bubuko.com,布布扣

边距示例:

bubuko.com,布布扣
QRCodeEncoder _qrCodeEncoder = new QRCodeEncoder(); 
_qrCodeEncoder.FrameSpacing = 4;
bubuko.com,布布扣

bubuko.com,布布扣

 

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

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

 

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

oschina.net:

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

 

github:

https://github.com/cheng5x/YcQrCode

 

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

码晒客讨论QQ群:
28629273

 

个性二维码开源专题<基础篇>,布布扣,bubuko.com

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

标签:des   c   style   class   blog   code   

原文地址:http://www.cnblogs.com/cheng5x/p/3774767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!