文档章节

C#条形码

o
 osc_fmg49rzg
发布于 2019/03/20 13:59
字数 1166
阅读 11
收藏 0

精选30+云产品,助力企业轻松上云!>>>

条形码的三种维码却别:
①一维条形码:
一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。
一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处:
* 数据容量较小:30个字符左右
* 只能包含字母和数字
* 条形码尺寸相对较大(空间利用率较低)
* 条形码遭到损坏后便不能阅读

②二维条形码:
在水平和垂直方向的二维空间存储信息的条形码, 称为二维条形码(2-dimensional bar code)。
与一维条形码一样,二维条形码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型
⒈ 线性堆叠式二维码
是在一维条形码编码原理的基础上,将多个一维码在纵向堆叠而产生的。典型的码制如:Code 16K、Code 49.PDF417等。
2. 矩阵式二维码
是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如:Aztec、Maxi Code、QR Code、 Data Matrix等。
3. 邮政码
通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。
在许多种类的二维条形码中,常用的码制有:Data Matrix,Maxi Code,Aztec,QR Code,Vericode,PDF417,Ultracode,Code 49,Code 16K 等,其中:
* Data Matrix 主要用于电子行业小零件的标识,如英特尔(Intel)的奔腾处理器的背面就印制了这种码。
* Maxi Code 是由美国联合包裹服务(UPS)公司研制的,用于包裹的分拣和跟踪。
* Aztec 是由美国韦林(Welch Allyn)公司推出的,最多可容纳3832个数字或3067个字母字符或1914个字节的数据。

Generatel1为生成一维码的方法

Generatel2为生成二维码的方法

dll文件下载地址:https://files.cnblogs.com/files/lbjlbj/zxing.7z

控制器中:

public class ShowController : Controller
    {
        // GET: Show
        public ActionResult Index()
        {
            return View();
        }
        public  string Generate1(string text)
        {
            int width = 60; int height = 60;
            Random rd = new Random(10);
            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 = 1//设置二维码的边距,单位不是固定像素
            };

            writer.Options = options;
            Bitmap map = writer.Write(text);
            map.Save(path, ImageFormat.Png);
            return path1;
        }
        public string Generate2(string text)
        {
            int width = 80; int height = 60;
            Random rd = new Random(10);
            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 = 2
            };
            writer.Options = options;
            Bitmap map = writer.Write(text);
            map.Save(path, ImageFormat.Png);
            return path1;
        }

    }

视图中:

<div> 
        <input id="txt" type="text" />
        <input id="Button1" type="button" value="生成条形码图片" onclick="tiao()"/>
        <input id="Button1" type="button" value="生成二维码图片" onclick="Er()"/>
        <img src="" alt="" id="tx"/>
        <img src="" alt="" id="erwei"/>
    </div>

Ajax:

<script>
    function Er() {
        $.ajax({
            url: "/Show/Generate1",
            data: { text: $("#txt").val() },
            dataType: "text",
            success: function (data) {
                $("#erwei").attr("src",data);
            }
        })
    }
    function tiao() {
        $.ajax({
            url: "/Show/Generate2",
            data: { text: $("#txt").val() },
            dataType: "text",
            success: function (data) {
                $("#tx").attr("src", data);
            }
        })
    }
</script>

 

③彩色条形码
彩色条码主要是结合带有视像镜头的手提电话或个人电脑,利用镜头来阅读杂志、报纸、电视机或电脑屏幕上的颜色条码,并传送到数据中心。数据中心会因应收到的颜色条码来提供网站资料或消费优惠。
彩色条码比二维条码优胜的地方,是它可以利用较低的分辨率来提供较高的数据容量。一方面,颜色条码无需要较高分辨率的镜头来解读,使沟通从单向变成双方面,二来较低的分辨率亦令使用条码的公司在条码上加上变化,以提高读者参与的兴趣。
新的彩色条码将使用4或8种颜色,在较少的空间中储存更多的资讯,并以小三角形取代传统的长方形。由CNET新闻中公布的图片看来,类似彩色版的二维QR条码。彩色条码未来计划用于电影、电玩等商业性媒介上,以冀提供更高的安全性,甚至电影宣传片连结或其他附加功能。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
C# 生成条形码BarCode 128

也是最近项目用到, 了解到条形码的更多信息, 推荐先看第一条链接, 然后看下面两条或者直接看下文代码均可. 如何看懂Code128条形码 C#生成Code128条形码CSDN C#生成code128条形码博客园...

osc_qgitz6q2
2019/09/24
6
0
[C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库

BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言   在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成。今天我所介绍的是另一款类库 Barcod...

反骨仔
2017/05/19
0
0
支持一维和二维条形码生成打印的轻量级的 .NET条码控件Barcode Professional

Barcode Professional SDK for .NET 条形码控件是一款轻量级的 .NET 程序集,为你的程序生成高质量的条形码,支持产生条码图片以及打印,支持大多数流行的一维和二维条形码:Code 39, Code 1...

baobiaokongjian
2014/06/05
0
0
支持一维和二维条形码生成打印的轻量级的 .NET条码控件Barcode Professional

Barcode Professional SDK for .NET 条形码控件是一款轻量级的 .NET 程序集,为你的程序生成高质量的条形码,支持产生条码图片以及打印,支持大多数流行的一维和二维条形码:Code 39, Code 1...

baobiaokongjian
2014/06/05
0
0
[C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库

BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言   在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成。今天我所介绍的是另一款类库 Barcod...

osc_j9ayg4mu
05/11
8
0

没有更多内容

加载失败,请刷新页面

加载更多

Git本地分支和远程分支关联

转载:https://blog.csdn.net/cherishhere/article/details/52606884 转载:https://blog.zengrong.net/post/1746.html 转载:https://blog.csdn.net/xinghuowuzhao/article/details/78663526 转......

osc_ur9jjorb
17分钟前
10
0
移动应用测试方法与思路

标签(空格分隔): 浅谈移动应用测试方法与思路 在 GUI 自动化测试这个系列,我讲了很多基于浏览器的业务测试的内容,你可能会说,现在移动 App 大行其道,对移动应用测试的方法和思路才更重...

osc_avdbd8s3
19分钟前
9
0
搜索所有Git历史记录中的字符串? [重复] - Search all of Git history for a string? [duplicate]

问题: This question already has an answer here: 这个问题在这里已有答案: How to grep Git commit diffs or contents for a certain word? 如何grep Git为某个单词提交差异或内容? 8 ...

fyin1314
20分钟前
12
0
css实现圆形倒计时效果

实现思想: 1.最外层包裹内部的div1(.box) 2.内部左右两边div2(.left_box和.right_box),宽度为div1的一半,通过overflow:hidden隐藏其内部的div 3.在左右两个div2中各有一个div3(.left_item...

osc_sg74u54s
21分钟前
7
0
python语言中threading.Thread类的使用方法

1. 编程语言里面的任务和线程是很重要的一个功能。在python里面,线程的创建有两种方式,其一使用Thread类创建 # 导入Python标准库中的Thread模块 from threading import Thread # 创建一...

osc_q5urtsdm
21分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部