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

结果图片如下:

       

三、解码

点击查看

posted @ 2018-12-11 15:03  a boy  阅读(1010)  评论(0编辑  收藏  举报