http://jingyan.baidu.com/article/84b4f565cd4cf060f6da32e6.html
組件下載:
http://download.csdn.net/detail/lybwwp/6861821
使用很簡單,介紹:
http://blog.csdn.net/lybwwp/article/details/18444369
在如今二維碼漫天飛的時期,如果你還不會使用,那你就out了,今天讀者就帶您走進二維碼的世界。
方法/步驟
-
要用到一個類:QRCodeEncoder
這個類要添加一個動態庫:ThoughtWorks.QRCode.dll(筆者不知道怎麼上傳附件,讀者可以上網搜索,也可以給筆者留言)
然後引入命名空間:using ThoughtWorks.QRCode.Codec;
-
好了,項目開始。
首先,聲明一個 QRCodeEncoder 類實例:
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
-
設置編碼方式:
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
這裏筆者將其設置爲字節編碼(還有兩種編碼方式,讀者可以自行試驗),現在的流行的普遍的二維碼都是字節編碼。
-
設置規模和版本:
qrCodeEncoder.QRCodeScale = 4;
qrCodeEncoder.QRCodeVersion = 7;
這裏設置規模爲:4,版本爲:7,其餘值讀者可以自行試驗,這兩個值基本只是改變了二維碼的大小,讀者設置的值都是現在普遍使用的值。
-
設置錯誤校驗(錯誤更正)的級別:
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
這裏設置爲中等,一共有四個級別,讀者可以自行試驗。
-
根據內容生成二維碼圖片,最後把生成的圖片顯示出來就可以啦:
string link = "http://jingyan.baidu.com/user/npublic?un=%E8%BE%B9%E7%BC%98%E6%B2%B3%E5%9B%BE";
bmp = qrCodeEncoder.Encode(link);
一般來說,二維碼生成的都是一個連接(當然讀者可以改成任意的文本)。
-
筆者這裏將它封裝成了一個方法,方便使用:
/// <summary>
/// 根據鏈接獲取二維碼
/// </summary>
/// <param name="link">鏈接</param>
/// <returns>返回二維碼圖片</returns>
private Bitmap GetDimensionalCode(string link)
{
Bitmap bmp = null;
try
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 4;
//int version = Convert.ToInt16(cboVersion.Text);
qrCodeEncoder.QRCodeVersion = 7;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
bmp = qrCodeEncoder.Encode(link);
}
catch (Exception ex)
{
//MessageBox.Show("Invalid version !");
}
return bmp;
}
-
OK,搞定,看看我們生成的二維碼,呵呵!
-