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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章