public void HandleBarCodeNum(string _code) { UCC_EAN_128Standard ean128Standard = new UCC_EAN_128Standard(); List <string> encodingCode = ean128Standard.InsertCodingChar(_code); stripAndSpace = ean128Standard.CalcuCheckCode(encodingCode); code = ean128Standard.DistinguishIdentifier(_code); //计算条空数 char[] array = stripAndSpace.ToArray(); int sum = 0; for (int i = 0, len = array.Length; i < len; i++) { sum += Convert.ToInt32(array[i].ToString()); } TotalOfStripAndSpace = sum; float scale = 0.85F; CodeAssist assist = new CodeAssist(); modleW = assist.MillimeterToPixel(modleW); modleH = assist.MillimeterToPixel(modleH, 2); modleW *= scale; modleH *= scale; leftBlankW = 10 * modleW; rightBlankW = 10 * modleW; }
public void HandleBarCodeNum(string _code, int _scale) { CodeAssist assist = new CodeAssist(); Code39Standard standard = new Code39Standard(); if (haveCheck) { code = standard.CalcuCheckCode(_code); } else { code = _code; } float scale = 0; switch (_scale) { case 0: scale = 0.8F; break; case 1: scale = 0.85F; break; case 2: scale = 0.9F; break; case 3: scale = 1.00F; break; case 4: scale = 1.1F; break; case 5: scale = 1.2F; break; case 6: scale = 1.3F; break; case 7: scale = 1.4F; break; case 8: scale = 1.5F; break; case 9: scale = 1.6F; break; case 10: scale = 1.7F; break; case 11: scale = 1.8F; break; case 12: scale = 1.9F; break; case 13: scale = 2.0F; break; } narrowModleW = assist.MillimeterToPixel(standard.ZoomFactor[barSizeIndex][0]) * scale; wideModleW = assist.MillimeterToPixel(standard.ZoomFactor[barSizeIndex][1]) * scale; //计算模块单元的高度 modleH = (code.Length + 2) * (3 * wideModleW + 6 * narrowModleW) * lwRatio; if (modleH < assist.MillimeterToPixel(6.4)) { modleH = assist.MillimeterToPixel(6.4); } //计算空白区域的宽度 blankW = blankRatio * narrowModleW >= assist.MillimeterToPixel(2.5) ? blankRatio * narrowModleW : assist.MillimeterToPixel(2.5); binarySeq = standard.ConstructBinarySequence(code); }