项目上有个模块需要生成二维码,通过webapi的方式把图标二维码作为文件流提供给第三方客户端调用(实际就是第三方那边懒不想定制开发 所以丢给这边弄)
以下是目前使用的生成例子
首先先装一个 ThoughtWorks.QRCode.dll 可以网络下载后引用, 也可以NuGet上搜索安装,使用方法如下
先引用命名空间 using ThoughtWorks.QRCode.Codec;
public class QRCodeHelper { //创建二维码生成类 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); string CodeContent;//二维码的文本内容 public QRCodeHelper(string CodeContent, int QrSize = 2) { QrSize = QrSize <= 0 ? 2 : QrSize; this.CodeContent = CodeContent; //设置编码模式 qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //设置编码测量度 qrCodeEncoder.QRCodeScale = QrSize; //设置编码版本 qrCodeEncoder.QRCodeVersion = 0; //设置编码错误纠正 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; } public System.Drawing.Bitmap GetBitmap() { //生成二维码图片 System.Drawing.Bitmap image = qrCodeEncoder.Encode(CodeContent, Encoding.UTF8); return image; } }
需要自定义定制二维码的可自行修改相关设置