(zxing.net)一维码Code 128的简介、实现与解码
生活随笔
收集整理的這篇文章主要介紹了
(zxing.net)一维码Code 128的简介、实现与解码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、簡介
一維碼Code 128:1981年推出,是一種長度可變、連續性的字母數字條碼。與其他一維條碼比較起來,相對較為復雜,支持的字元也相對較多,又有不同的編碼方式可供交互運用,因此其應用彈性也較大。
Code 128特性:
具有A、B、C三種不同的編碼類型,可提供標準ASCII中128個字元的編碼使用;
允許雙向掃描;
可自行決定是否加上檢驗位;
條碼長度可調,但包括開始位和結束位在內,不可超過232個字元;
同一個128碼,可以由A、B、C三種不同編碼規則互換,既可擴大字元選擇的范圍,也可縮短編碼的長度。
Code 128各編碼方式的編碼范圍:
Code 128 A:標準數字和字母,控制符,特殊字符;
Code 128 B:標準數字和字母,小寫字母,特殊字符;
Code 128 C/EAN 128:[00]-[99]的數字對集合,共100個,即只能表示偶數位長度的數字。
Code 128編碼規則:開始位+[FNC1(為EAN 128碼時加)] + 數據位 + 檢驗位 + 結束位。
Code128檢驗位計算:(開始位對應的ID值 + 每位數據在整個數據中的位置 * 每位數據對應的ID值) % 103。
二、實現
1 public ActionResult CODE_128()
2 {
3 Code128EncodingOptions options = new Code128EncodingOptions();
4 options.ForceCodesetB = false; //如果為true,請不要為數字切換到代碼集C. 不知道什么鬼
5 options.PureBarcode = false; //是否將內容字符串顯示在圖片上。false 為顯示 true為不顯示
6 options.GS1Format = false; //是否符合GS1
7 options.Width = 150; //圖片寬度,根據內容的長度會自動增長
8 options.Height = 75; //圖片高度
9 options.Margin = 30; //填充,在圖片左右填充空白 30則左右各15
10
11 BarcodeWriter writer = new BarcodeWriter();
12 writer.Format = BarcodeFormat.CODE_128;
13 writer.Options = options;
14
15 //如需設置圖片為其它顏色,使用此段代碼
16 //BitmapRenderer renderer = new BitmapRenderer();
17 //renderer.Foreground = Color.Black;
18 //renderer.Background = Color.White;
19 //writer.Renderer = renderer;
20
21 Bitmap bmp = writer.Write("123456789");
22 MemoryStream ms = new MemoryStream();
23 bmp.Save(ms, ImageFormat.Png);
24 ms.Flush();
25 ms.Position = 0;
26 return File(ms, "application/x-png");
27 }
測試圖像如下:
三、解碼
點擊查看
總結
以上是生活随笔為你收集整理的(zxing.net)一维码Code 128的简介、实现与解码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ObjectT5:在线随机森林-Mult
- 下一篇: 内积(又名点积)