⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 barcode.java

📁 java barcode
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        endOfCode = currentX;
        if(UPCEANSupplement2)
            paintSup2(g, supplement);
        else
        if(UPCEANSupplement5)
            paintSup5(g, supplement);
    }

    protected void paintUPCE(Graphics g)
    {
        boolean flag = false;
        boolean flag1 = false;
        int j = 0;
        String s1 = "";
        if(code.length() == 13)
        {
            supplement = code.substring(11, 13);
            UPCEANSupplement2 = true;
        }
        if(code.length() == 14)
        {
            supplement = code.substring(12, 14);
            UPCEANSupplement2 = true;
        }
        if(code.length() == 16)
        {
            supplement = code.substring(11, 16);
            UPCEANSupplement5 = true;
        }
        if(code.length() == 17)
        {
            supplement = code.substring(12, 17);
            UPCEANSupplement5 = true;
        }
        if(code.length() < 11)
            return;
        code = code.substring(0, 11);
        code += UPCEANCheck(code);
        j = (new Integer(code.charAt(11))).intValue();
        if(code.substring(3, 6).compareTo("000") == 0 || code.substring(3, 6).compareTo("100") == 0 || code.substring(3, 6).compareTo("200") == 0)
            s1 = code.substring(1, 3) + code.substring(8, 11) + code.charAt(3);
        if(code.substring(3, 6).compareTo("300") == 0 || code.substring(3, 6).compareTo("400") == 0 || code.substring(3, 6).compareTo("500") == 0 || code.substring(3, 6).compareTo("600") == 0 || code.substring(3, 6).compareTo("700") == 0 || code.substring(3, 6).compareTo("800") == 0 || code.substring(3, 6).compareTo("900") == 0)
            s1 = code.substring(1, 4) + code.substring(9, 11) + "3";
        if(code.substring(4, 6).compareTo("10") == 0 || code.substring(4, 6).compareTo("20") == 0 || code.substring(4, 6).compareTo("30") == 0 || code.substring(4, 6).compareTo("40") == 0 || code.substring(4, 6).compareTo("50") == 0 || code.substring(4, 6).compareTo("60") == 0 || code.substring(4, 6).compareTo("70") == 0 || code.substring(4, 6).compareTo("80") == 0 || code.substring(4, 6).compareTo("90") == 0)
            s1 = code.substring(1, 5) + code.substring(10, 11) + "4";
        if(code.substring(5, 6).compareTo("0") != 0)
            s1 = code.substring(1, 6) + code.substring(10, 11);
        codeText = "0" + s1 + j;
        paintGuardChar(g, "bwb", "nnn", 0);
        leftGuardBar = currentX;
        String s2 = UPCESystem0[j];
        if(UPCESytem == '1')
            s2 = UPCESystem1[j];
        for(int k = 0; k < s1.length(); k++)
        {
            String s = s1.charAt(k)+"";
            int i = -1;
            String as[][] = setUPCEOdd;
            if(s2.charAt(k) == 'E')
                as = setUPCEEven;
            i = findChar(as, s);
            paintChar(g, "wbwb", as[i][1]);
        }

        rightGuardBar = currentX;
        paintGuardChar(g, "wbwbwb", "nnnnnn", 0);
        endOfCode = currentX;
        if(UPCEANSupplement2)
            paintSup2(g, supplement);
        else
        if(UPCEANSupplement5)
            paintSup5(g, supplement);
    }

    protected void paintSup2(Graphics g, String s)
    {
        if(supplement.length() > 0)
            s = supplement;
        suplementTopMargin = (int)((double)barHeightPixels * (1.0D - supHeight));
        codeSup = s;
        if(s.length() != 2)
            return;
        currentX = (int)((double)currentX + (double)resolution * supSeparationCM);
        startSuplement = currentX;
        int i;
        try
        {
            i = Integer.valueOf(s).intValue();
        }
        catch(Exception exception)
        {
            i = 0;
        }
        String s1 = "OO";
        if(mod(i, 4D) == 1.0D)
            s1 = "OE";
        if(mod(i, 4D) == 2D)
            s1 = "EO";
        if(mod(i, 4D) == 3D)
            s1 = "EE";
        paintGuardChar(g, "bwb", "112", suplementTopMargin);
        String as[][] = setUPCEOdd;
        if(s1.charAt(0) == 'E')
            as = setUPCEEven;
        int j = findChar(as, s.charAt(0)+"");
        paintGuardChar(g, "wbwb", as[j][1], suplementTopMargin);
        paintGuardChar(g, "wb", "11", suplementTopMargin);
        as = setUPCEOdd;
        if(s1.charAt(1) == 'E')
            as = setUPCEEven;
        j = findChar(as, s.charAt(1)+"");
        paintGuardChar(g, "wbwb", as[j][1], suplementTopMargin);
        endSuplement = currentX;
    }

    protected void paintSup5(Graphics g, String s)
    {
        if(supplement.length() > 0)
            s = supplement;
        suplementTopMargin = (int)((double)barHeightPixels * (1.0D - supHeight));
        codeSup = s;
        if(s.length() != 5)
            return;
        boolean flag = true;
        int i = 0;
        int j = 0;
        for(int l = s.length() - 1; l >= 0; l--)
        {
            if(flag)
                i += (new Integer(s.charAt(l))).intValue();
            else
                j += (new Integer(s.charAt(l))).intValue();
            flag = !flag;
        }

        j = i * 3 + j * 9;
        String s1 = j+"";
        int k = (new Integer(s1.charAt(s1.length() - 1))).intValue();
        String s2 = fiveSuplement[k];
        currentX = (int)((double)currentX + (double)resolution * supSeparationCM);
        startSuplement = currentX;
        paintGuardChar(g, "bwb", "112", suplementTopMargin);
        Object obj = null;
        for(int j1 = 0; j1 < 5; j1++)
        {
            String as[][] = setUPCEOdd;
            if(s2.charAt(j1) == 'E')
                as = setUPCEEven;
            int i1 = findChar(as, s.charAt(j1)+"");
            paintGuardChar(g, "wbwb", as[i1][1], suplementTopMargin);
            if(j1 < 4)
                paintGuardChar(g, "wb", "11", suplementTopMargin);
        }

        endSuplement = currentX;
    }

    protected void paintMAT25(Graphics g)
    {
        boolean flag = false;
        boolean flag1 = false;
        String s1 = code;
        paintChar(g, "bwbwbw", "wnnnnn");
        for(int j = 0; j < s1.length(); j++)
        {
            String s = code.charAt(j)+"";
            int i = findChar(set25, s);
            if(i >= 0)
                paintChar(g, "bwbwbw", set25[i][1] + "n");
        }

        paintChar(g, "bwbwbw", "wnnnnn");
    }

    protected void paintCODE39(Graphics g)
    {
        boolean flag = false;
        int k = 0;
        code = code.toUpperCase();
        paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
        currentX += narrowBarPixels;
        for(int l = 0; l < code.length(); l++)
        {
            String s = code.charAt(l)+"";
            int i = findChar(set39, s);
            if(i > -1)
            {
                k += i;
                paintChar(g, "bwbwbwbwb", set39[i][1]);
                currentX += narrowBarPixels;
            }
        }

        if(checkCharacter)
        {
            int j = (int)mod(k, 43D);
            paintChar(g, "bwbwbwbwb", set39[j][1]);
            currentX += narrowBarPixels;
            if(checkCharacterInText)
                codeText = code + set39[j][0];
            else
                codeText = code;
        }
        paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
    }

    protected void paintCODE11(Graphics g)
    {
        boolean flag = false;
        int l = 0;
        paintChar(g, "bwbwbw", "nnwwnn");
        int i1 = 1;
        l = 0;
        for(int j1 = code.length() - 1; j1 >= 0; j1--)
        {
            l += findChar(set11, code.charAt(j1)+"") * i1;
            if(++i1 == 11)
                i1 = 1;
        }

        int j = (int)mod(l, 11D);
        i1 = 2;
        l = j;
        for(int k1 = code.length() - 1; k1 >= 0; k1--)
        {
            l += findChar(set11, code.charAt(k1)+"") * i1;
            if(++i1 == 10)
                i1 = 1;
        }

        int k = (int)mod(l, 11D);
        for(int l1 = 0; l1 < code.length(); l1++)
        {
            String s = code.charAt(l1)+"";
            int i = findChar(set11, s);
            if(i > -1)
                paintChar(g, "bwbwbw", set11[i][1] + "n");
        }

        if(checkCharacter)
        {
            paintChar(g, "bwbwbw", set11[j][1] + "n");
            if(checkCharacterInText)
                codeText = code + set11[j][0];
            else
                codeText = code;
            if(code.length() > 10)
            {
                paintChar(g, "bwbwbw", set11[k][1] + "n");
                if(checkCharacterInText)
                    codeText += set11[k][0];
                else
                    codeText = code;
            }
        }
        paintChar(g, "bwbwbw", "nnwwnn");
    }

    protected void paintCODABAR(Graphics g)
    {
        boolean flag = false;
        int k = 0;
        paintChar(g, "bwbwbwbw", setCODABAR[findChar(setCODABAR, CODABARStartChar+"")][1] + "n");
        k = findChar(setCODABAR, CODABARStartChar+"") + findChar(setCODABAR, CODABARStopChar+"");
        for(int l = code.length() - 1; l >= 0; l--)
            k += findChar(setCODABAR, code.charAt(l)+"");

        int j = (int)mod(k, 16D);
        if(j != 0)
            j = 16 - j;
        for(int i1 = 0; i1 < code.length(); i1++)
        {
            String s = code.charAt(i1)+"";
            int i = findChar(setCODABAR, s);
            if(i > -1)
                paintChar(g, "bwbwbwbw", setCODABAR[i][1] + "n");
        }

        if(checkCharacter)
        {
            if(checkCharacterInText)
                codeText = code + setCODABAR[j][0];
            else
                codeText = code;
            paintChar(g, "bwbwbwbw", setCODABAR[j][1] + "n");
        }
        paintChar(g, "bwbwbwb", setCODABAR[findChar(setCODABAR, CODABARStopChar)][1]);
    }

    protected void paintMSI(Graphics g)
    {
        boolean flag = false;
        int k = 0;
        paintChar(g, "bw", "wn");
        k = 0;
        String s1 = "";
        boolean flag1 = true;
        for(int l = code.length() - 1; l >= 0; l--)
        {
            if(!flag1)
                k += findChar(setMSI, code.charAt(l));
            if(flag1)
                s1 = findChar(setMSI, code.charAt(l)) + s1;
            flag1 = !flag1;
        }

        s1 = (new Long(s1)).longValue() * 2L+"";
        for(int i1 = s1.length() - 1; i1 >= 0; i1--)
            k += findChar(setMSI, s1.charAt(i1));

        int j = (int)mod(k, 10D);
        if(j != 0)
            j = 10 - j;
        for(int j1 = 0; j1 < code.length(); j1++)
        {
            String s = code.charAt(j1)+"";
            int i = findChar(setMSI, s);
            if(i > -1)
                paintChar(g, "bwbwbwbw", setMSI[i][1]);
        }

        if(checkCharacter)
        {
            paintChar(g, "bwbwbwb", setMSI[j][1]);
            if(checkCharacterInText)
                codeText = code + setMSI[j][0];
            else
                codeText = code;
        }
        paintChar(g, "wbwb", "nnwn");
    }

    protected static double mod(double d1, double d2)
    {
        double d3 = d1 / d2;
        double d4 = Math.round(d3);
        if(d4 > d3)
            d4--;
        return d1 - d2 * d4;
    }

    protected void paintCODE39Ext(Graphics g)
    {
        boolean flag = false;
        int k = 0;
        paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
        currentX += narrowBarPixels;
        for(int l = 0; l < code.length(); l++)
        {
            byte byte0 = (byte)code.charAt(l);
            if(byte0 <= 128)
            {
                String s1 = set39Ext[byte0];
                for(int i1 = 0; i1 < s1.length(); i1++)
                {
                    String s = s1.charAt(i1)+"";
                    int i = findChar(set39, s);
                    if(i > -1)
                    {
                        k += i;
                        paintChar(g, "bwbwbwbwb", set39[i][1]);
                        currentX += narrowBarPixels;
                    }
                }

            }
        }

        codeText = "";
        boolean flag1 = false;
        for(int k1 = 1; k1 <= code.length(); k1++)
        {
            int j1 = code.charAt(k1 - 1);
            if(j1 < 32 && j1 >= 0)
            {
                if(j1 == 13 || j1 == 9)
                    codeText += "  ";
            } else
            {
                codeText += (char)j1;
            }
        }

        if(checkCharacter)
        {
            int j = (int)mod(k, 43D);
            paintChar(g, "bwbwbwbwb", set39[j][1]);
            currentX += narrowBarPixels;
            if(checkCharacterInText)
                codeText = codeText + set39[j][0];
        }
        paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
    }

    protected void paintBAR93(Graphics g)
    {
        boolean flag = false;
        int j = 0;
        int k = 0;
        int l = 0;
        paintChar(g, "bwbwbw", "111141");
        for(int i1 = 0; i1 < code.length(); i1++)
        {
            String s = code.charAt(i1)+"";
            int i = findChar(set93, s);
            if(i > -1)
            {
                j += i;
                paintChar(g, "bwbwbw", set93[i][1]);
            }
        }

        int j1 = 1;
        j = 0;
        for(int k1 = code.length() - 1; k1 >= 0; k1--)
        {
            j += findChar(set93, code.charAt(k1)) * j1;
            if(++j1 == 21)
                j1 = 1;
        }

        l = (int)mod(j, 47D);
        j1 = 2;
        j = l;
        for(int l1 = code.length() - 1; l1 >= 0; l1--)
        {
            j += findChar(set93, code.charAt(l1)) * j1;
            if(++j1 == 16)
                j1 = 1;
        }

        k = (int)mod(j, 47D);
        if(checkCharacter)
        {
            paintChar(g, "bwbwbw", set93[l][1]);
            paintChar(g, "bwbwbw", set93[k][1]);
            if(checkCharacterInText)
                codeText = code + set93[l][0].charAt(0) + set93[k][0].charAt(0);
            else
                codeText = code;
        }
        paintChar(g, "bwbwbwb", "1111411");
    }

    protected void paintBAR93Ext(Graphics g)
    {
        boolean flag = false;
        int k1 = 0;
        int l1 = 0;
        int i2 = 0;
        paintChar(g, "bwbwbw", "

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -