多语言展示
当前在线:746今日阅读:167今日分享:16

C#实现的小功能:[6]C#如何生成二维码

在如今二维码漫天飞的时期,如果你还不会使用,那你就out了,今天读者就带您走进二维码的世界。
工具/原料
1

Visual Studio(VS)2010 C#

2

.Net Framework 4.0及以上

方法/步骤
1

要用到一个类:QRCodeEncoder这个类要添加一个动态库:ThoughtWorks.QRCode.dll(笔者不知道怎么上传附件,读者可以上网搜索,也可以给笔者留言)然后引入命名空间:using ThoughtWorks.QRCode.Codec;

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

笔者这里将它封装成了一个方法,方便使用:        ///

        /// 根据链接获取二维码        ///         /// 链接        /// 返回二维码图片        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;        }

8

OK,搞定,看看我们生成的二维码,呵呵!

注意事项

如果此文章对您有所帮助,请关注本人并收藏此文章。谢谢您的支持!(任何疑问,欢迎留言!)

推荐信息