#region 二维码
/// <summary>
/// 生成并保存二维码图片的方法
/// </summary>
/// <param name="str">内容</param>
/// <param name="url">保存路径</param>
/// <param name="filename">文件名</param>
/// <returns></returns>
public static string CreateQRImg(string str, string url, string filename)
{
string path = url;
if (File.Exists(path + filename))
{
return path + filename;
}
else
{
string enCodeString = str;
//生成设置编码实例
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
//设置二维码的规模,默认4
qrCodeEncoder.QRCodeScale = 4;
//设置二维码的版本,默认7
qrCodeEncoder.QRCodeVersion = 7;
qrCodeEncoder.QRCodeBackgroundColor = Color.FromArgb(255, 255, 255);
//设置错误校验级别,默认中等
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
//生成二维码图片
Bitmap bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);
//保存二维码图片路径
//string dirpath = HttpContext.Current.Server.MapPath("~/UploadFiles/ActivityUserCode/wxcode/");
string dirpath = HttpContext.Current.Server.MapPath("~/" + url);
if (!Directory.Exists(dirpath))
Directory.CreateDirectory(dirpath);
try
{
bt.Save(dirpath + filename);
}
catch (Exception ex)
{
ExceptionLogManager.AddBugLog(ex, "生成二维码失败");
}
finally
{
bt.Dispose(); //显式释放资源
}
return path + filename;
}
}
#endregion
C#生成二维码
最新推荐文章于 2024-05-14 05:25:29 发布