internal BitMatrix GetOriginal(int matrixSize, Random randomizer, out ByteMatrix matrix) { matrix = new ByteMatrix(matrixSize, matrixSize); FillRandom(matrix, randomizer); return(matrix.ToBitMatrix()); }
private TestCaseData GenerateRandomTestCaseData(int matrixSize, int version) { ByteMatrix matrix = new ByteMatrix(matrixSize, matrixSize); EmbedAlignmentPattern(matrix, version); return(new TestCaseData(version, matrix.ToBitMatrix())); }
private TestCaseData GenerateRandomTestCaseData(int version, MaskPatternType patternType) { int matrixSize = VersionDetail.Width(version); ByteMatrix matrix = new ByteMatrix(matrixSize, matrixSize); EmbedAlignmentPattern(matrix, version, patternType); return(new TestCaseData(version, patternType, matrix.ToBitMatrix()).SetName(string.Format(s_TestNameFormat, matrixSize, version))); }
private TestCaseData GenerateRandomTestCaseData(int version, int totalCodewords, Random randomizer) { int matrixSize = VersionDetail.Width(version); ByteMatrix matrix = new ByteMatrix(matrixSize, matrixSize); BitVector codewords = GenerateDataCodewords(totalCodewords, randomizer); EmbedAlignmentPattern(matrix, version, codewords); return(new TestCaseData(version, matrix.ToBitMatrix(), codewords).SetName(string.Format(s_TestNameFormat, matrixSize, version))); }
public static BitMatrix Encode(string content, ErrorCorrectionLevel ecLevel) { QRCodeInternal qrInternal; BitVector headerAndDataBits = DataEncodeUsingReferenceImplementation(content, ecLevel, out qrInternal); // Step 6: Interleave data bits with error correction code. BitVector finalBits = new BitVector(); EncoderInternal.interleaveWithECBytes(headerAndDataBits, qrInternal.NumTotalBytes, qrInternal.NumDataBytes, qrInternal.NumRSBlocks, finalBits); // Step 7: Choose the mask pattern and set to "QRCodeInternal". ByteMatrix matrix = new ByteMatrix(qrInternal.MatrixWidth, qrInternal.MatrixWidth); int MaskPattern = EncoderInternal.chooseMaskPattern(finalBits, qrInternal.EcLevelInternal, qrInternal.Version, matrix); // Step 8. Build the matrix and set it to "QRCodeInternal". MatrixUtil.buildMatrix(finalBits, qrInternal.EcLevelInternal, qrInternal.Version, MaskPattern, matrix); return(matrix.ToBitMatrix()); }
public static BitMatrix Encode(string content, ErrorCorrectionLevel ecLevel) { QRCodeInternal qrInternal; BitVector headerAndDataBits = DataEncodeUsingReferenceImplementation(content, ecLevel, out qrInternal); // Step 6: Interleave data bits with error correction code. BitVector finalBits = new BitVector(); EncoderInternal.interleaveWithECBytes(headerAndDataBits, qrInternal.NumTotalBytes, qrInternal.NumDataBytes, qrInternal.NumRSBlocks, finalBits); // Step 7: Choose the mask pattern and set to "QRCodeInternal". ByteMatrix matrix = new ByteMatrix(qrInternal.MatrixWidth, qrInternal.MatrixWidth); int MaskPattern = EncoderInternal.chooseMaskPattern(finalBits, qrInternal.EcLevelInternal, qrInternal.Version, matrix); // Step 8. Build the matrix and set it to "QRCodeInternal". MatrixUtil.buildMatrix(finalBits, qrInternal.EcLevelInternal, qrInternal.Version, MaskPattern, matrix); return matrix.ToBitMatrix(); }