C# 二维码生成源码|使用ThoughtWorks.QRCode 实现根据文本内容生成二维码
C# 二维码生成源码|使用ThoughtWorks.QRCode 实现根据文本内容生成二维码
项目上有个模块需要生成二维码,通过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;
}
}
需要自定义定制二维码的可自行修改相关设置