1. 程式人生 > >(zxing.net)一維碼MSI的簡介、實現與解碼

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

結果圖片如下:

       

三、解碼