条形码与二维码案例(MVC)

一:界面
在这里插入图片描述
二:代码
前台:

@{
Layout = null;
}

Index
@using (Html.BeginForm()) {

条形码与二维码生成工具





}
    </div>
    <div id="y2">

    </div>
</div>

后台:
public class InforController : Controller
{
// GET: Infor
//二维码
[HttpPost]
public int Index1(string text)
{
//实例化二维码对象,参数为erorCorrectionLevel(误差校正水平)
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = new QrCode();
//设置二维码中的内容,并对内容进行编码,生成的矩阵
qrEncoder.TryEncode(text, out qrCode);
//初始化渲染器 默认画笔将是黑色和白色,参数:Size
var renderer = new GraphicsRenderer(
//FixedModuleSize是用于渲染具有固定模块像素大小的QrCode的策略。参数: moduleSize:像素大小,silentZoneModules:空白区域的数量
new FixedModuleSize(12, QuietZoneModules.Two));
//存储流
MemoryStream ms = new MemoryStream();
renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
string buffer = Convert.ToBase64String(ms.GetBuffer());
var imageBit = new Bitmap(ms);
var image = new Bitmap(imageBit, new Size(new Point(200, 200)));//设置图片像素
var fileName = Path.Combine(Server.MapPath("~/AAA"), “qrcode.png”);
image.Save(fileName, ImageFormat.Png);//保存生成的二维码图片
return DateTime.Now.Millisecond;
}
//一维码
[HttpPost]
public int Index(string text)
{
//Random r = new Random();
//string text = (r.Next() * 100000000).ToString();
BarcodeWriter writer = new BarcodeWriter();
//使用ITF 格式,不能被现在常用的支付宝、微信扫出来
//writer.Format = BarcodeFormat.ITF;
//如果想生成可识别的可以使用 CODE_128 格式
writer.Format = BarcodeFormat.CODE_128;
//图片大小
EncodingOptions options = new EncodingOptions()
{
Width = 500,
Height = 150,
Margin = 2
};
//选项
writer.Options = options;
Bitmap map = writer.Write(text);
var fileName = Path.Combine(Server.MapPath("~/AAA"), “barcode.png”);
map.Save(fileName, ImageFormat.Png);
return DateTime.Now.Millisecond;
}
[HttpGet]
public ActionResult Index()
{
return View();
}
}
三:结果
在这里插入图片描述
四:引用的空间名称
using ZXing;
using ZXing.Common;
using ZXing.QrCode;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
using Gma.QrCodeNet.Encoding;
using Gma.QrCodeNet.Encoding.Windows.Render;

五:需要创建的文件夹AAA
在这里插入图片描述

希望可以帮助到你O(∩_∩)O~

猜你喜欢

转载自blog.csdn.net/ProteaCynaroides/article/details/88723976