Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }