zoukankan      html  css  js  c++  java
  • (zxing.net)一维码UPC A的简介、实现与解码

    一、简介

    UPC(Universal Product Code)码是最早大规模应用的条码,其特性是一种长度固定、连续性的条  码,目前主要在美国和加拿大使用,由于其应用范围广泛,故又被称万用条码。 UPC码仅可用来表示数字,故其字码集为数字0~9。UPC码共有A、B、C、D、E等五种版本。

    UPC A码又称UPC标准码,它的结构如下图:

    每个UPC A码包含部分如下图:

     

    UPC A码具有以下特点:

    1. 每个字码皆由7个模组组合成2线条2空白,其逻辑值可用7个二进制数字表示,例如逻辑值0001101代表数字1,逻辑值0为空白,1为线条,故数字1的UPC-A码为粗空白(000)-粗线条(11)-细空白(0)-细线条(1)。
    2. 从空白区开始共113个模组,每个模组长0.33mm,条码符号长度为37.29mm。
    3. 中间码两侧的资料码编码规则是不同的,左侧为奇,右侧为偶。奇表示线条的个数为奇数;偶表示线条的个数为偶数。
    4. 起始码、终止码、中间码的线条高度长於数字码。

    二、实现

        public ActionResult UPCA()
        {
            EncodingOptions options = new EncodingOptions();
            options.PureBarcode = false;
            options.GS1Format = false;
            options.Width = 100;
            options.Height = 75;
            options.Margin = 0;
    
            BarcodeWriter writer = new BarcodeWriter();
            writer.Format = BarcodeFormat.UPC_A;
            writer.Options = options;
    
            //如需设置图片为其它颜色,使用此段代码
            //BitmapRenderer renderer = new BitmapRenderer();
            //renderer.Foreground = Color.Black;
            //renderer.Background = Color.White;
            //writer.Renderer = renderer;
    
            Bitmap bmp = writer.Write("012340000046");
            MemoryStream ms = new MemoryStream();
            bmp.Save(ms, ImageFormat.Png);
            ms.Flush();
            ms.Position = 0;
            return File(ms, "application/x-png");
        }

    结果图片如下:

        

    三、解码

    点击查看

  • 相关阅读:
    使用递归,计算斐波那契数列
    Javascript模块化编程 require.js使用详解
    逻辑很重要:一句sql语句的事,自己却想了半天,绕了个大弯子
    select options常用操作
    select 下拉菜单Option对象使用add(elements,index)方法动态添加
    $().change事件
    jQuery验证控件jquery.validate.js使用说明
    copy(source,destination)拷贝文件
    Linux常用命令
    纯js实现分页
  • 原文地址:https://www.cnblogs.com/weiweixiang/p/10077391.html
Copyright © 2011-2022 走看看