C#生成二維碼

http://jingyan.baidu.com/article/84b4f565cd4cf060f6da32e6.html

組件下載:
http://download.csdn.net/detail/lybwwp/6861821

使用很簡單,介紹:
http://blog.csdn.net/lybwwp/article/details/18444369



在如今二維碼漫天飛的時期,如果你還不會使用,那你就out了,今天讀者就帶您走進二維碼的世界。

工具/原料

  • Visual Studio(VS)2010 C#

  • .Net Framework 4.0及以上

方法/步驟

  1. 要用到一個類:QRCodeEncoder

    這個類要添加一個動態庫:ThoughtWorks.QRCode.dll(筆者不知道怎麼上傳附件,讀者可以上網搜索,也可以給筆者留言)

    然後引入命名空間:using ThoughtWorks.QRCode.Codec;

    C#實現的小功能:[6]C#如何生成二維碼
  2. 好了,項目開始。

    首先,聲明一個 QRCodeEncoder 類實例:

    QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

  3. 設置編碼方式:

    qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

    這裏筆者將其設置爲字節編碼(還有兩種編碼方式,讀者可以自行試驗),現在的流行的普遍的二維碼都是字節編碼。

  4. 設置規模和版本:

    qrCodeEncoder.QRCodeScale = 4;

    qrCodeEncoder.QRCodeVersion = 7;

    這裏設置規模爲:4,版本爲:7,其餘值讀者可以自行試驗,這兩個值基本只是改變了二維碼的大小,讀者設置的值都是現在普遍使用的值。

  5. 設置錯誤校驗(錯誤更正)的級別:

    qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

    這裏設置爲中等,一共有四個級別,讀者可以自行試驗。

  6. 根據內容生成二維碼圖片,最後把生成的圖片顯示出來就可以啦:

    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);

    一般來說,二維碼生成的都是一個連接(當然讀者可以改成任意的文本)。

  7. 筆者這裏將它封裝成了一個方法,方便使用:

            /// <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;

            }

    C#實現的小功能:[6]C#如何生成二維碼
  8. OK,搞定,看看我們生成的二維碼,呵呵!

    C#實現的小功能:[6]C#如何生成二維碼


發佈了175 篇原創文章 · 獲贊 12 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章