個性二維碼開源專題<基礎篇>


二維碼原理介紹:

二維碼為什么是黑白相間的?黑色表示二進制的“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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM