Esempio n. 1
0
        public void BuildMatrix()
        {
            const int WIDTH = 21, HEIGHT = 21;

              // From http://www.swetake.com/qr/qr7.html
              int[] ints = {
              32, 65, 205, 69, 41, 220, 46, 128, 236,
              42, 159, 74, 221, 244, 169, 239, 150, 138,
              70, 237, 85, 224, 96, 74, 219 , 61};

              BitList bits = new BitList();
              foreach (int i in ints)
            bits.AppendBits(i, 8);

              QRMatrix matrix = new QRMatrix(WIDTH, HEIGHT);

              matrix.FormMatrix(bits, QRCorrectionLevel.H, QRVersion.GetVersionByNumber(1), 3);

              string expected =
            "1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1\r\n" +
            "1 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1\r\n" +
            "1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1\r\n" +
            "1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1\r\n" +
            "1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1\r\n" +
            "0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0\r\n" +
            "0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0\r\n" +
            "1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0\r\n" +
            "1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0\r\n" +
            "1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0\r\n" +
            "0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1\r\n" +
            "0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1\r\n" +
            "1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0\r\n" +
            "1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1\r\n" +
            "1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0\r\n" +
            "1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0\r\n" +
            "1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0";

              Assert.AreEqual( expected, matrix.ToString());
        }
Esempio n. 2
0
        public void VersionInfo()
        {
            const int WIDTH = 21, HEIGHT = 21;
              // Version info bits = 000111 110010 010100
              // Actually, version 7 QR Code has 45x45 matrix but we use 21x21 here
              // since 45x45 matrix is too big to depict.
              QRMatrix matrix = new QRMatrix(WIDTH, HEIGHT);

              matrix.AddVersionInfoIfRequired(QRVersion.GetVersionByNumber(7));

              string expected =
            "                    0 0 1                \r\n" +
            "                    0 1 0                \r\n" +
            "                    0 1 0                \r\n" +
            "                    0 1 1                \r\n" +
            "                    1 1 1                \r\n" +
            "                    0 0 0                \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "0 0 0 0 1 0                              \r\n" +
            "0 1 1 1 1 0                              \r\n" +
            "1 0 0 1 1 0                              \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         ";

              Assert.AreEqual( expected, matrix.ToString());
        }
Esempio n. 3
0
        public void Pattern_02()
        {
            const int WIDTH = 25, HEIGHT = 25;

              QRMatrix matrix = new QRMatrix(WIDTH, HEIGHT);
              matrix.Fill(2);
              matrix.AddBasicPatterns(QRVersion.GetVersionByNumber(2));

              string expected =
            "1 1 1 1 1 1 1 0                   0 1 1 1 1 1 1 1\r\n" +
            "1 0 0 0 0 0 1 0                   0 1 0 0 0 0 0 1\r\n" +
            "1 0 1 1 1 0 1 0                   0 1 0 1 1 1 0 1\r\n" +
            "1 0 1 1 1 0 1 0                   0 1 0 1 1 1 0 1\r\n" +
            "1 0 1 1 1 0 1 0                   0 1 0 1 1 1 0 1\r\n" +
            "1 0 0 0 0 0 1 0                   0 1 0 0 0 0 0 1\r\n" +
            "1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1\r\n" +
            "0 0 0 0 0 0 0 0                   0 0 0 0 0 0 0 0\r\n" +
            "            1                                    \r\n" +
            "            0                                    \r\n" +
            "            1                                    \r\n" +
            "            0                                    \r\n" +
            "            1                                    \r\n" +
            "            0                                    \r\n" +
            "            1                                    \r\n" +
            "            0                                    \r\n" +
            "            1                   1 1 1 1 1        \r\n" +
            "0 0 0 0 0 0 0 0 1               1 0 0 0 1        \r\n" +
            "1 1 1 1 1 1 1 0                 1 0 1 0 1        \r\n" +
            "1 0 0 0 0 0 1 0                 1 0 0 0 1        \r\n" +
            "1 0 1 1 1 0 1 0                 1 1 1 1 1        \r\n" +
            "1 0 1 1 1 0 1 0                                  \r\n" +
            "1 0 1 1 1 0 1 0                                  \r\n" +
            "1 0 0 0 0 0 1 0                                  \r\n" +
            "1 1 1 1 1 1 1 0                                  ";

              Assert.AreEqual( expected, matrix.ToString());
        }
Esempio n. 4
0
        public void TypeInfo()
        {
            const int WIDTH = 21, HEIGHT = 21;

              // Type info bits = 100000011001110.
              QRMatrix matrix = new QRMatrix(WIDTH, HEIGHT);

              matrix.AddTypeInfo(QRCorrectionLevel.M, 5);
              string expected =
            "                0                        \r\n" +
            "                1                        \r\n" +
            "                1                        \r\n" +
            "                1                        \r\n" +
            "                0                        \r\n" +
            "                0                        \r\n" +
            "                                         \r\n" +
            "                1                        \r\n" +
            "1 0 0 0 0 0   0 1         1 1 0 0 1 1 1 0\r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                                         \r\n" +
            "                0                        \r\n" +
            "                0                        \r\n" +
            "                0                        \r\n" +
            "                0                        \r\n" +
            "                0                        \r\n" +
            "                0                        \r\n" +
            "                1                        ";

              Assert.AreEqual( expected, matrix.ToString());
        }
Esempio n. 5
0
        public void DataBits()
        {
            const int WIDTH = 21, HEIGHT = 21;

              //System.Diagnostics.Debugger.Launch();

              // Cells other than basic patterns should be filled with zero.
              QRMatrix matrix = new QRMatrix(WIDTH, HEIGHT);

              matrix.AddBasicPatterns(QRVersion.GetVersionByNumber(1));

              BitList bits = new BitList();

              matrix.InsertDataBits(bits, -1);

              string expected =
            "1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1\r\n" +
            "1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1\r\n" +
            "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n" +
            "1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0";

              Assert.AreEqual( expected, matrix.ToString());
        }