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");
        }

    结果图片如下:

           

    三、解码

    点击查看

  • 相关阅读:
    SDOI 2016 数字配对
    SDOI 2016 征途 决策单调性
    SDOI 2016 生成魔咒
    SDOI 2016 排列计数
    【SC主题公园杯】三个袋子 = =不动脑的后果
    【BZOJ3050】【USACO 2013 Jan Gold金组】坐座位 Seating
    MillerRabin 快速的素数概率判定法
    [POJ3189][cqbzoj1640]稳定的奶牛分配 解题报告
    最大流 isap 模板
    【POJ 1324】Holedox Moving A*宽搜
  • 原文地址:https://www.cnblogs.com/weiweixiang/p/10102285.html
Copyright © 2011-2022 走看看