Esempio n. 1
0
        /// <summary>
        /// シンボルの明暗パターンを返します。
        /// </summary>
        private int[][] GetModuleMatrix()
        {
            int numModulesPerSide = Module.GetNumModulesPerSide(_currVersion);

            int[][] moduleMatrix = new int[numModulesPerSide][];

            for (int i = 0; i < moduleMatrix.Length; ++i)
            {
                moduleMatrix[i] = new int[moduleMatrix.Length];
            }

            FinderPattern.Place(moduleMatrix);
            Separator.Place(moduleMatrix);
            TimingPattern.Place(moduleMatrix);

            if (_currVersion >= 2)
            {
                AlignmentPattern.Place(_currVersion, moduleMatrix);
            }

            FormatInfo.PlaceTempBlank(moduleMatrix);

            if (_currVersion >= 7)
            {
                VersionInfo.PlaceTempBlank(moduleMatrix);
            }

            PlaceSymbolChar(moduleMatrix);
            RemainderBit.Place(moduleMatrix);

            Masking.Apply(_currVersion, _parent.ErrorCorrectionLevel, ref moduleMatrix);

            return(moduleMatrix);
        }