(zxing.net)一維碼MSI的簡介、實現與解碼
阿新 • • 發佈:2018-12-11
一、簡介
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"); }
結果圖片如下:
三、解碼