二维码是越来越流行了,很多地方都有可能是使用到。如果是静态的二维码还是比较好处理的,通过在线工具就可以直接生成一张二维码图片,比如:草料二维码。但有的时候是需要动态生成的(根据动态数据生成),这个使用在线就工具就无法实现了。最好是能在代码中直接生成一个二维码图片,这里我就介绍下使用QRCode类库在代码中生成二维码。
网上生成二维码的组建还是挺多的,但是真正好用且快速的却不多。QRCode就是我在众多中找到的,它的生成速度快、而且使用也相当方便。
开始编码
1、安装 QRCode组建。在项目上通过NuGet包管理器来安装,搜索名称:ThoughtWorks.QRCode
2、在代码中添加引用:using ThoughtWorks.QRCode.Codec;
3、编码生成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
private void CreateImage() { string guid = Guid.NewGuid().ToString().Replace("-", "") + ".png"; //图片名称 string content = "https://ityouzi.com/zanzhu.html"; //二维码内容 int size = 10; //二维码中每个小点的大小 Bitmap image = CreateImgCode(content, size); //生成二维码图片 //保存图片,需要图片的绝对地址,这是web项目 string filePath = @"D:\Image\" + guid; //图片保存地址,需要绝对路径 image.Save(filePath, System.Drawing.Imaging.ImageFormat.Png); //在D:\Image\下就正看到图片了 } /// <summary> /// 生成二维码图片 /// </summary> /// <param name="codeNumber">要生成二维码的字符串</param> /// <param name="size">二维码每个颗粒大小尺寸</param> /// <returns>二维码图片</returns> public Bitmap CreateImgCode(string codeNumber, int size) { //创建二维码生成类 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); //设置编码模式 qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //设置编码测量度 qrCodeEncoder.QRCodeScale = size; //设置编码版本 qrCodeEncoder.QRCodeVersion = 0; //设置编码错误纠正 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //生成二维码图片 System.Drawing.Bitmap image = qrCodeEncoder.Encode(codeNumber); return image; } |
1 |
<br> |
上面代码运行的结果

发布者:柚子,转转请注明出处:https://ityouzi.com/archives/thought-works-qrcode-codec.html