二维码是越来越流行了,很多地方都有可能是使用到。如果是静态的二维码还是比较好处理的,通过在线工具就可以直接生成一张二维码图片,比如:草料二维码。但有的时候是需要动态生成的(根据动态数据生成),这个使用在线就工具就无法实现了。最好是能在代码中直接生成一个二维码图片,这里我就介绍下使用QRCode类库在代码中生成二维码。
网上生成二维码的组建还是挺多的,但是真正好用且快速的却不多。QRCode就是我在众多中找到的,它的生成速度快、而且使用也相当方便。
开始编码
1、安装 QRCode组建。在项目上通过NuGet包管理器来安装,搜索名称:ThoughtWorks.QRCode
2、在代码中添加引用:using ThoughtWorks.QRCode.Codec;
3、编码生成
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;
}
上面代码运行的结果

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