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

📄 b.java

📁 二维QR条码项目的J2ME源代码。软件包括1.核心QR码编/解库
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            b2.c = ai[0];
            c3.a = b2.a(i1, 0).a;
            c3.b = b2.a(i1, 0).b;
            b2.d = c3.b();
            b2.c = ai[2];
            c3.c = b2.a(i1, 0).a;
            c3.d = b2.a(i1, 0).b;
            jp.sourceforge.qrcode.geom.c c4 = new jp.sourceforge.qrcode.geom.c(c2.a(), c2.b());
            b2.d = c4.a();
            b2.c = ai[1];
            c4.a = b2.a(0, i1).a;
            c4.b = b2.a(0, i1).b;
            b2.d = c4.b();
            b2.c = ai[3];
            c4.c = b2.a(0, i1).a;
            c4.d = b2.a(0, i1).b;
            ac[0][0][0][i1] = c3;
            ac[0][0][1][i1] = c4;
        }

        return ac;
    }

    private jp.sourceforge.qrcode.geom.c[][][][] b(jp.sourceforge.qrcode.reader.pattern.b b1, jp.sourceforge.qrcode.reader.pattern.a a1)
    {
        jp.sourceforge.qrcode.geom.a aa[][];
        (aa = a1.a())[0][0] = b1.a(0);
        aa[2][0] = b1.a(1);
        aa[0][2] = b1.a(2);
        int i;
        int j = (i = b1.e()) / 2;
        j++;
        jp.sourceforge.qrcode.geom.c ac[][][][] = new jp.sourceforge.qrcode.geom.c[2][2][2][j];
        int k = a1.b();
        int l = b1.b()[0];
        int i1 = b1.b()[1];
        jp.sourceforge.qrcode.geom.b b2 = new jp.sourceforge.qrcode.geom.b(l, i1, b1.d());
        for(int j1 = 0; j1 < 2; j1++)
        {
            for(int k1 = 0; k1 < 2; k1++)
            {
                int ai[] = new int[4];
                jp.sourceforge.qrcode.geom.c c1 = new jp.sourceforge.qrcode.geom.c();
                jp.sourceforge.qrcode.geom.c c2 = new jp.sourceforge.qrcode.geom.c();
                b2.c = b1.d();
                if(k1 == 0 && j1 == 0)
                {
                    b2.d = aa[0][0];
                    ai[0] = a(b2.a(0, 3), aa[1][0], k + 3);
                    ai[1] = a(b2.a(3, 0), aa[0][1], k + 3);
                    b2.c = ai[0];
                    ai[2] = a(aa[0][1], aa[1][1], k);
                    b2.c = ai[1];
                    ai[3] = a(aa[1][0], aa[1][1], k);
                    b2.c = ai[0];
                    c1.a = b2.a(-3, -3).a;
                    c1.b = b2.a(-3, -3).b;
                    b2.c = ai[1];
                    c2.a = b2.a(-3, -3).a;
                    c2.b = b2.a(-3, -3).b;
                    b2.d = aa[0][1];
                    b2.c = ai[2];
                    c1.c = b2.a(-6, 0).a;
                    c1.d = b2.a(-6, 0).b;
                    b2.d = aa[1][0];
                    b2.c = ai[3];
                    c2.c = b2.a(0, -6).a;
                    c2.d = b2.a(0, -6).b;
                } else
                if(k1 == 1 && j1 == 0)
                {
                    b2.d = aa[1][0];
                    ai[0] = a(b2.a(0, -3), aa[2][0], k + 3);
                    ai[1] = a(aa[1][0], aa[1][1], k);
                    b2.c = ai[0];
                    ai[2] = a(aa[1][1], aa[2][1], k);
                    b2.c = ai[1];
                    b2.d = aa[2][0];
                    ai[3] = a(b2.a(-3, 0), aa[2][1], k + 3);
                    b2.d = aa[1][0];
                    b2.c = ai[1];
                    c1.a = b2.a(0, -6).a;
                    c1.b = b2.a(0, -6).b;
                    c2.a = b2.a(0, -6).a;
                    c2.b = b2.a(0, -6).b;
                    c1.c = aa[1][1].a;
                    c1.d = aa[1][1].b;
                    b2.d = aa[2][0];
                    b2.c = ai[3];
                    c2.c = b2.a(3, -3).a;
                    c2.d = b2.a(3, -3).b;
                } else
                if(k1 == 0 && j1 == 1)
                {
                    ai[0] = a(aa[0][1], aa[1][1], k);
                    b2.d = aa[0][2];
                    ai[1] = a(aa[0][1], b2.a(3, 0), k + 3);
                    b2.c = ai[0];
                    ai[2] = a(b2.a(0, -3), aa[1][2], k + 3);
                    b2.c = ai[2];
                    ai[3] = a(aa[1][1], aa[1][2], k);
                    b2.d = aa[0][1];
                    b2.c = ai[0];
                    c1.a = b2.a(-6, 0).a;
                    c1.b = b2.a(-6, 0).b;
                    c2.a = b2.a(-6, 0).a;
                    c2.b = b2.a(-6, 0).b;
                    b2.d = aa[0][2];
                    b2.c = ai[2];
                    c1.c = b2.a(-3, 3).a;
                    c1.d = b2.a(-3, 3).b;
                    c2.c = aa[1][1].a;
                    c2.d = aa[1][1].b;
                } else
                if(k1 == 1 && j1 == 1)
                {
                    ai[0] = a(aa[1][1], aa[2][1], k);
                    ai[1] = a(aa[1][1], aa[1][2], k);
                    ai[2] = a(aa[1][2], aa[2][2], k);
                    ai[3] = a(aa[2][1], aa[2][2], k);
                    c1.a = aa[1][1].a;
                    c1.b = aa[1][1].b;
                    c2.a = aa[1][1].a;
                    c2.b = aa[1][1].b;
                    b2.d = aa[1][2];
                    b2.c = ai[1];
                    c1.c = b2.a(0, 6).a;
                    c1.d = b2.a(0, 6).b;
                    b2.d = aa[2][1];
                    b2.c = ai[0];
                    c2.c = b2.a(6, 0).a;
                    c2.d = b2.a(6, 0).b;
                }
                c1.a++;
                c1.b++;
                c1.c++;
                c1.d++;
                c2.a++;
                c2.b++;
                c2.c++;
                c2.d++;
                for(int l1 = 0; l1 < j; l1++)
                {
                    jp.sourceforge.qrcode.geom.c c3 = new jp.sourceforge.qrcode.geom.c(c1.a(), c1.b());
                    b2.d = c3.a();
                    b2.c = ai[0];
                    c3.a = b2.a(l1, 0).a;
                    c3.b = b2.a(l1, 0).b;
                    b2.d = c3.b();
                    b2.c = ai[2];
                    c3.c = b2.a(l1, 0).a;
                    c3.d = b2.a(l1, 0).b;
                    jp.sourceforge.qrcode.geom.c c4 = new jp.sourceforge.qrcode.geom.c(c2.a(), c2.b());
                    b2.d = c4.a();
                    b2.c = ai[1];
                    c4.a = b2.a(0, l1).a;
                    c4.b = b2.a(0, l1).b;
                    b2.d = c4.b();
                    b2.c = ai[3];
                    c4.c = b2.a(0, l1).a;
                    c4.d = b2.a(0, l1).b;
                    ac[k1][j1][0][l1] = c3;
                    ac[k1][j1][1][l1] = c4;
                }

            }

        }

        return ac;
    }

    private static int a(jp.sourceforge.qrcode.geom.a a1, jp.sourceforge.qrcode.geom.a a2, int i)
    {
        jp.sourceforge.qrcode.geom.c c1;
        int j;
        int k;
        return k = ((j = (c1 = new jp.sourceforge.qrcode.geom.c(a1, a2)).e()) << a) / i;
    }

    private static boolean[][] a(boolean aflag[][], jp.sourceforge.qrcode.geom.c ac[][][][])
        throws ArrayIndexOutOfBoundsException
    {
        int i = ac.length * ac[0][0][0].length;
        if(ac.length >= 2)
            i--;
        boolean aflag1[][] = new boolean[i][i];
        for(int j = 0; j < ac[0].length; j++)
        {
            for(int k = 0; k < ac.length; k++)
            {
                for(int l = 0; l < ac[0][0][1].length; l++)
                {
                    for(int i1 = 0; i1 < ac[0][0][0].length; i1++)
                    {
                        int j1 = ac[k][j][0][i1].a;
                        int k1 = ac[k][j][0][i1].b;
                        int l1 = ac[k][j][0][i1].c;
                        int i2 = ac[k][j][0][i1].d;
                        int j2 = ac[k][j][1][l].a;
                        int k2 = ac[k][j][1][l].b;
                        int l2 = ac[k][j][1][l].c;
                        int i3 = ac[k][j][1][l].d;
                        int j3 = (i2 - k1) * (j2 - l2) - (i3 - k2) * (j1 - l1);
                        int k3 = (j1 * i2 - l1 * k1) * (j2 - l2) - (j2 * i3 - l2 * k2) * (j1 - l1);
                        int l3 = (j2 * i3 - l2 * k2) * (i2 - k1) - (j1 * i2 - l1 * k1) * (i3 - k2);
                        try
                        {
                            aflag1[(k * ac[0][0][0].length + i1) - k][(j * ac[0][0][1].length + l) - j] = aflag[k3 / j3][l3 / j3];
                        }
                        catch(ArrayIndexOutOfBoundsException _ex)
                        {
                            aflag1[(k * ac[0][0][0].length + i1) - k][(j * ac[0][0][1].length + l) - j] = false;
                        }
                    }

                }

            }

        }

        return aflag1;
    }

    public static int a = 23;

}

⌨️ 快捷键说明

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