(zxing.net)一维码MSI的简介、实现与解码

本文深入解析MSI/Plessey条码,介绍其在仓储管理中的应用,详细阐述条码的二进制编码原理及校验位算法。同时,提供条码生成与解码的代码示例,帮助读者理解并掌握MSI/Plessey条码的使用。

一、简介

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

结果图片如下:

       

三、解码

点击查看

转载于:https://www.cnblogs.com/weiweixiang/p/10102285.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值