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

    一、简介

    MSI/Plessey 条码(也被称为 MSI 或 Modified Plessey)是一款数字条码,多用于超市、存储用的仓库和其他贮藏室的货架。货架上的条码可以告知货架上的产品、应放数量和其他相关信息。条码可以为任意长度,但是通常固定为适用于特定应用的长度。

    MSI/Plessey 条码为二进制格式,黑色条纹表示为“1”,空格表示为“0”。0 到 9 的所有数字在条码中都表示为二进制。条码开头是个“卫字符”,表示条码的起点,后面是已编码数据。接下来是个可选的校验位。MSI/Plessey 支持多种类型的校验位,最常用的是 Mod-10。这些数位会以特定方式相加并获得单数位结果。如果结果和校验位相符,说明条码正确。校验位后面是表示条码结束的另一个卫字符。

    MSI/Plessey 条码可以为任意长度,因此有可能用于编码大量信息。

    二、实现

        public ActionResult MSI()
        {
            EncodingOptions options = new EncodingOptions();
            options.PureBarcode = false;
            options.GS1Format = false;
            options.Width = 110;
            options.Height = 75;
            options.Margin = 0;
    
            BarcodeWriter writer = new BarcodeWriter();
            writer.Format = BarcodeFormat.MSI;
            writer.Options = options;
    
            //如需改变图片颜色,加上此段代码
            //BitmapRenderer renderer = new BitmapRenderer();
            //renderer.Foreground = Color.Blue; //前景色
            //renderer.Background = Color.Black; //背景色
            //writer.Renderer = renderer;
    
            Bitmap bmp = writer.Write("00123457");
            MemoryStream ms = new MemoryStream();
            bmp.Save(ms, ImageFormat.Png);
            ms.Flush();
            ms.Position = 0;
            return File(ms, "application/x-png");
        }

    结果图片如下:

           

    三、解码

    点击查看

  • 相关阅读:
    Debian/Kali下Subversion的配置
    Linux下解压Windows中的压缩包乱码解决办法
    JavaSocket全双工通信 问题 待解决
    MYSQL学习笔记
    Java Socket 全双工通信
    Kali2017安装后的那些事
    nginx的一次安装与配置
    解决1130 Host 'localhost' is not allowed to connect to this MySQL server
    SimpleDateFormat 和 LocalDate、LocalTime 以及时间大小比较简单示例
    java 线程池 ExeutorService
  • 原文地址:https://www.cnblogs.com/weiweixiang/p/10102285.html
Copyright © 2011-2022 走看看