首先 简单的介绍一下条形码和二维码

条形码:

  条形码技术是在计算机应用中产生发展起来的一种广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通运输、包装、配送等领域的自动识别技术。它最早出现在20世纪40年代,是“由一组规则排列的条、空及其对应字符组成的,用以表示一定信息的标识”。
条形码自动识别系统由条形码标签、条形码生成设备、条形码识读器和计算机组成。
 
二维码:
  二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

用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#--条形码和二维码的简单实现的更多相关文章

  1. [转]用C#实现的条形码和二维码编码解码器

    条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...

  2. asp.net 生成、解析条形码和二维码

    原文 asp.net 生成.解析条形码和二维码 一.条形码 一维码,俗称条形码,广泛的用于电子工业等行业.比如我们常见的书籍背面就会有条形码,通过扫描枪等设备扫描就可以获得书籍的ISBN(Intern ...

  3. Android之条形码、二维码扫描框架(非原创)

    文章大纲 一.条形码.二维码扫描框架介绍二.条形码.二维码的区别和组成结构介绍三.条形码.二维码扫描框架应用场景四.BGAQRCode-Android框架实战五.项目源码下载六.参考文章 一.条形码. ...

  4. (整理).net实现条形码与二维码

    本文由来源网络的知识点组合而成,感谢分享的作者,文章结尾处给出查询资料连接. 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条形码是 ...

  5. 实例源码--ZXing识别条形码和二维码识别源码

      下载源码 技术要点: 1.ZXing库的 使用 2.识别条形码和二 维码 3.自定义视图 4.源码带有非常详 细的中文注释 ...... 详细介绍: 1.ZXing库 ZXing是个很经典的条码/ ...

  6. 用C#实现的条形码和二维码编码解码器

    本文主要介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需 ...

  7. 基于opencv3.0和下的条形码与二维码识别

    其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 2 ...

  8. C# 利用ZXing.Net来生成条形码和二维码

    本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正. 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的 ...

  9. C#利用Zxing.net生成条形码和二维码并实现打印的功能

        开篇:zxing.net是.net平台下编解条形码和二维码的工具. 下载地址:http://pan.baidu.com/s/1kTr3Vuf Step1:使用VS2010新建一个窗体程序项目: ...

随机推荐

  1. Struts2 Action重启偶尔404 偶尔正常

    这是一个痛苦的教训 因想懒省事,复制module.action  到product.action  跟user.action 然后修改代码内容  ,最痛苦的是  还用查找替换功能进行全部文字替换  , ...

  2. noip模拟赛 正方形

    题目描述在一个10000*10000的二维平面上,有n颗糖果.LYK喜欢吃糖果!并且它给自己立了规定,一定要吃其中的至少C颗糖果!事与愿违,LYK只被允许圈出一个正方形,它只能吃在正方形里面的糖果.并 ...

  3. git 拉取远程分支 --本地分支不存在

    git checkout -b 本地分支名 origin/远程分支名

  4. float在内存中的存放

    一个float型实数在内存中占4个字节,即32个二进制bit,从低位到高位依次叫第0位到第31位.这32位可以分为3个部分:符号位(第31位),阶码(第30位到第23位共8位),尾数(最低23位). ...

  5. Groovy简单再入门

    以前试过,忘得差不多了,趁这次从JAVA一直撸到SERVLET,SPRING,GROOVY,GRAILS的机会,再弄一次吧... def authors = [ "Peter Ledbroo ...

  6. CentOS的free命令

    https://blog.csdn.net/for_tech/article/details/53044610 https://www.58jb.com/html/145.html

  7. N天学习一个linux命令之ssh-keygen

    用途 生成ssh加密算法需要使用到的秘钥以及管理和转换 用法 ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [- ...

  8. POJ 2960

    也算是一道模板题吧,只需按照SG函数的定义求出每个值的SG,然后异或就可以了. #include <iostream> #include <cstdio> #include & ...

  9. @Repository @Service 和@Autowired 的使用

    解释: @Controller 声明Action组件 @Service   声明Service组件    @Service("myMovieLister")  @Repositor ...

  10. Android 组件ContentProvider

    Android 组件ContentProvider Android的数据存储有五种方式Shared Preferences.网络存储.文件存储.外储存储.SQLite,一般这些存储都仅仅是在单独的一个 ...