C#--条形码和二维码的简单实现
首先 简单的介绍一下条形码和二维码
条形码:
用MVC实现条形码和二维码
接下来呢,要介绍的是 借助 zxing.dll 实现二维码和条形码
首先我是用MVC来实现功能的
在视图里写以下代码
第一、先写出 条形码和二维码中我们要出现的内容
第二、写下功能按钮,定义onclick事件
分别是条形码和二维码的功能
第三 、显示条形码和二维码
以下有图解
<body>
<div>
//输入文字
<input id="txt" type="text" />
//功能按钮
<input id="Button1" type="button" value="生成条形码图片" onclick="tiao()" /> @*条形码按钮*@
17 <input id="Button1" type="button" value="生成二维码图片" onclick="Er()" /> @*二维码按钮*@
//图片显示
18 <img src="" alt="" id="tx" />
19 <img src="" alt="" id="erwei" />
</div>
</body>
</html>
之后就是我们用ajax调用onclick事件到控制器了
<script>
//二维码方法跳转
function Er() {
$.ajax({
url: "/Show/Er",
data: { text: $("#txt").val() },
dataType: "text",
success: function (data) {
$("#erwei").attr("src", data);
}
})
}
//条形码方法跳转
function tiao() {
$.ajax({
url: "/Show/Tiao",
data: { text: $("#txt").val() },
dataType: "text",
success: function (data) {
$("#tx").attr("src", data);
}
})
}
</script>
上面是视图里面的简单代码
下面介绍一下控制器里面具体功能的实现
我是用 zxing.dll 实现的功能
二维码和条形码的生成需要引用
zxing.dll 文件
文件下载位置
https://files.cnblogs.com/files/jian1125/zxing.zip
话不多说直接上代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Drawing;
using System.Drawing.Imaging;
using System.Text;
using ZXing; //引用zxing.dll文件之后
using ZXing.Common;
using ZXing.QrCode;
using ZXing.QrCode.Internal; namespace Ex8.Controllers
{
public class ShowController : Controller
{
// GET: Show
public ActionResult Index()
{
return View();
}
public string Er(string text)
{
int width = ; int height = ; //定义变量 二维码的宽和高
Random rd = new Random(); //随机数
string time = DateTime.Now.ToString("yyyyMMdd")+"erwei";
string path = Server.MapPath("~/Images" + "//" + time + ".Png"); //二维码图
string path1 = $"http://localhost:53183/Images/{time}" + ".Png";
BarcodeWriter writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
QrCodeEncodingOptions options = new QrCodeEncodingOptions()
{
DisableECI = true, //设置内容编码
CharacterSet = "UTF-8",
//设置二维码的宽度和高度
Width = width,
Height = height,
Margin = //设置二维码的边距,单位不是固定像素
}; writer.Options = options;
Bitmap map = writer.Write(text);
map.Save(path, ImageFormat.Png);
return path1;
}
public string Tiao(string text)
{
int width = ; int height = ;
Random rd = new Random();
string time = DateTime.Now.ToString("yyyyMMdd")+rd.Next().ToString();
string path = Server.MapPath("~/Images" + "//" + time + ".Png");
string path1 = $"http://localhost:53183/Images/{time}" + ".Png";
BarcodeWriter writer = new BarcodeWriter();
//使用ITF 格式,不能被现在常用的支付宝、微信扫出来
//如果想生成可识别的可以使用 CODE_128 格式
//writer.Format = BarcodeFormat.ITF;
writer.Format = BarcodeFormat.CODE_39;
EncodingOptions options = new EncodingOptions()
{
Width = width,
Height = height,
Margin =
};
writer.Options = options;
Bitmap map = writer.Write(text);
map.Save(path, ImageFormat.Png);
return path1;
} }
}
以上的功能呢,我们是借助zxing.dll实现的功能
我能帮大家的就这么多了
C#--条形码和二维码的简单实现的更多相关文章
- [转]用C#实现的条形码和二维码编码解码器
条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...
- asp.net 生成、解析条形码和二维码
原文 asp.net 生成.解析条形码和二维码 一.条形码 一维码,俗称条形码,广泛的用于电子工业等行业.比如我们常见的书籍背面就会有条形码,通过扫描枪等设备扫描就可以获得书籍的ISBN(Intern ...
- Android之条形码、二维码扫描框架(非原创)
文章大纲 一.条形码.二维码扫描框架介绍二.条形码.二维码的区别和组成结构介绍三.条形码.二维码扫描框架应用场景四.BGAQRCode-Android框架实战五.项目源码下载六.参考文章 一.条形码. ...
- (整理).net实现条形码与二维码
本文由来源网络的知识点组合而成,感谢分享的作者,文章结尾处给出查询资料连接. 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条形码是 ...
- 实例源码--ZXing识别条形码和二维码识别源码
下载源码 技术要点: 1.ZXing库的 使用 2.识别条形码和二 维码 3.自定义视图 4.源码带有非常详 细的中文注释 ...... 详细介绍: 1.ZXing库 ZXing是个很经典的条码/ ...
- 用C#实现的条形码和二维码编码解码器
本文主要介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需 ...
- 基于opencv3.0和下的条形码与二维码识别
其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 2 ...
- C# 利用ZXing.Net来生成条形码和二维码
本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正. 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的 ...
- C#利用Zxing.net生成条形码和二维码并实现打印的功能
开篇:zxing.net是.net平台下编解条形码和二维码的工具. 下载地址:http://pan.baidu.com/s/1kTr3Vuf Step1:使用VS2010新建一个窗体程序项目: ...
随机推荐
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G. Xor
There is a tree with nn nodes. For each node, there is an integer value a_iai, (1 \le a_i \le 1,0 ...
- noip模拟赛 c
分析:一道比较难的爆搜题.首先要把9个块的信息存下来,记录每个块上下左右位置的颜色,然后记录每一排每一列能否操作,之后就是bfs了.在bfs的时候用一个数记录状态,第i位表示原来的第i个块现在在哪个位 ...
- Jmeter 学习imooc
https://www.imooc.com/video/14718 1. BS Vs CS BS架构: browser server CS架构: Client server(安装到本地)
- PHP array_diff()
定义和用法 array_diff() 函数返回两个数组的差集数组.返回的数组的元素都取自被比较的数组(既第一个数组). 在返回的数组中,键名保持不变. 语法 array_diff(array1,arr ...
- [Cypress] Create Aliases for DOM Elements in Cypress Tests
We’ll often need to access the same DOM elements multiple times in one test. Your first instinct mig ...
- hdu 4850 字符串构造---欧拉回路构造序列 递归+非递归实现
http://acm.hdu.edu.cn/showproblem.php? pid=4850 题意:构造长度为n的字符序列.使得>=4的子串仅仅出现一次 事实上最长仅仅能构造出来26^4+4- ...
- 最全Linux 与 Linux Windows 文件共享
前提说明: windows主机信息:192.168.1.100 帐号:abc password:123 共享目录:share linux主机信息:192.168.1.200 帐号:def passwo ...
- Extjs grid 某列点击弹窗
{ header : "单号", tooltip : '单号', dataIndex : 'transportCode', width : 130, sortable : true ...
- poj 3662 Telephone Lines(最短路+二分)
Telephone Lines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6973 Accepted: 2554 D ...
- warning: here-document at line 7 delimited by end-of-file (wanted `rui')