.NET二维码生成(ThoughtWorks.QRCode)
作者:网络转载 发布时间:[ 2015/6/24 13:42:38 ] 推荐标签:软件开发
引用ThoughtWorks.QRCode.dll (源代码里有)
1、简单二维码生成及解码代码:
//生成二维码方法一
private void CreateCode_Simple(string nr)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 4;
qrCodeEncoder.QRCodeVersion = 8;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
//System.Drawing.Image image = qrCodeEncoder.Encode("4408810820 深圳-广州 小江");
System.Drawing.Image image = qrCodeEncoder.Encode(nr);
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
string filepath = Server.MapPath(@"~Upload") + "\" + filename;
System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
//二维码解码
var codeDecoder = CodeDecoder(filepath);
}
/// <summary>
/// 二维码解码
/// </summary>
/// <param name="filePath">图片路径</param>
/// <returns></returns>
public string CodeDecoder(string filePath)
{
if (!System.IO.File.Exists(filePath))
return null;
Bitmap myBitmap = new Bitmap(Image.FromFile(filePath));
QRCodeDecoder decoder = new QRCodeDecoder();
string decodedString = decoder.decode(new QRCodeBitmapImage(myBitmap));
return decodedString;
}
2、源代码演示,相对复杂的生成方式:
界面效果:
前端代码:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Code</title>
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function () {
$("#createCode").click(function () {
var strData = $("#strData").val();
var level = $("#level").val();
var encoding = $("#encoding").val();
var version = $("#version").val();
var scale = $("#scale").val();
$.post("/home/CreateCode_Choose", { strData: strData, level: level, qrEncoding: encoding, version: version, scale: scale }, function (data) {
$("img").attr("src", data);
});
});
});
</script>
</head>
<body>
<div>
<p>要生成的文字(支持中文):<input id="strData" type="text" value="123456 测试" /></p>
<p>
Encoding:<select id="encoding">
<option value="Byte">Byte</option>
<option value="AlphaNumeric">AlphaNumeric</option>
<option value="Numeric">Numeric</option>
</select>
</p>
<p>
Correction Level:<select id="level">
<option value="M">M</option>
<option value="L">L</option>
<option value="Q">Q</option>
<option value="H">H</option>
</select>
</p>
<p>Version:<input id="version" type="text" value="8" /></p>
<p>scale:<input id="scale" type="text" value="4" /></p>
<img src="" alt="" />
<input id="createCode" type="button" value="生成" />
</div>
</body>
</html>
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11