ZXing.QrCode.Internal.MatrixUtil.makeTypeInfoBits C# (CSharp) Метод

makeTypeInfoBits() публичный статический Метод

public static makeTypeInfoBits ( ErrorCorrectionLevel ecLevel, int maskPattern, BitArray bits ) : void
ecLevel ErrorCorrectionLevel
maskPattern int
bits ZXing.Common.BitArray
Результат void
        public static void makeTypeInfoBits(ErrorCorrectionLevel ecLevel, int maskPattern, BitArray bits)
        {
            if (!QRCode.isValidMaskPattern(maskPattern))
             {
            throw new WriterException("Invalid mask pattern");
             }
             int typeInfo = (ecLevel.Bits << 3) | maskPattern;
             bits.appendBits(typeInfo, 5);

             int bchCode = calculateBCHCode(typeInfo, TYPE_INFO_POLY);
             bits.appendBits(bchCode, 10);

             BitArray maskBits = new BitArray();
             maskBits.appendBits(TYPE_INFO_MASK_PATTERN, 15);
             bits.xor(maskBits);

             if (bits.Size != 15)
             {
            // Just in case.
            throw new WriterException("should not happen but we got: " + bits.Size);
             }
        }