/// <summary>
        /// Creates the barcode matrix.
        /// </summary>
        /// <returns>The barcode matrix.</returns>
        /// <param name="detectionResult">Detection result.</param>
        private static BarcodeValue[][] createBarcodeMatrix(DetectionResult detectionResult)
        {
            // Manually setup Jagged Array in C#
            BarcodeValue[][] barcodeMatrix = new BarcodeValue[detectionResult.RowCount][];
            for (int row = 0; row < barcodeMatrix.Length; row++)
            {
                barcodeMatrix[row] = new BarcodeValue[detectionResult.ColumnCount + 2];
                for (int col = 0; col < barcodeMatrix[row].Length; col++)
                {
                    barcodeMatrix[row][col] = new BarcodeValue();
                }
            }

            int column = -1;

            foreach (DetectionResultColumn detectionResultColumn in detectionResult.getDetectionResultColumns())
            {
                column++;
                if (detectionResultColumn == null)
                {
                    continue;
                }
                foreach (Codeword codeword in detectionResultColumn.Codewords)
                {
                    if (codeword == null || codeword.RowNumber == -1)
                    {
                        continue;
                    }
                    barcodeMatrix[codeword.RowNumber][column].setValue(codeword.Value);
                }
            }
            return(barcodeMatrix);
        }
예제 #2
0
        /// <summary>
        /// Creates the barcode matrix.
        /// </summary>
        /// <returns>The barcode matrix.</returns>
        /// <param name="detectionResult">Detection result.</param>
        private static BarcodeValue[][] createBarcodeMatrix(DetectionResult detectionResult)
        {
            // Manually setup Jagged Array in C#
            var barcodeMatrix = new BarcodeValue[detectionResult.RowCount][];

            for (int row = 0; row < barcodeMatrix.Length; row++)
            {
                barcodeMatrix[row] = new BarcodeValue[detectionResult.ColumnCount + 2];
                for (int col = 0; col < barcodeMatrix[row].Length; col++)
                {
                    barcodeMatrix[row][col] = new BarcodeValue();
                }
            }

            int column = 0;

            foreach (DetectionResultColumn detectionResultColumn in detectionResult.getDetectionResultColumns())
            {
                if (detectionResultColumn != null)
                {
                    foreach (Codeword codeword in detectionResultColumn.Codewords)
                    {
                        if (codeword != null)
                        {
                            int rowNumber = codeword.RowNumber;
                            if (rowNumber >= 0)
                            {
                                if (rowNumber >= barcodeMatrix.Length)
                                {
                                    // We have more rows than the barcode metadata allows for, ignore them.
                                    continue;
                                }
                                barcodeMatrix[rowNumber][column].setValue(codeword.Value);
                            }
                        }
                    }
                }
                column++;
            }

            return(barcodeMatrix);
        }
      /// <summary>
      /// Creates the barcode matrix.
      /// </summary>
      /// <returns>The barcode matrix.</returns>
      /// <param name="detectionResult">Detection result.</param>
      private static BarcodeValue[][] createBarcodeMatrix(DetectionResult detectionResult)
      {
         // Manually setup Jagged Array in C#
         BarcodeValue[][] barcodeMatrix = new BarcodeValue[detectionResult.RowCount][];
         for (int row = 0; row < barcodeMatrix.Length; row++)
         {
            barcodeMatrix[row] = new BarcodeValue[detectionResult.ColumnCount + 2];
            for (int col = 0; col < barcodeMatrix[row].Length; col++)
            {
               barcodeMatrix[row][col] = new BarcodeValue();
            }
         }

         int column = -1;
         foreach (DetectionResultColumn detectionResultColumn in detectionResult.getDetectionResultColumns())
         {
            column++;
            if (detectionResultColumn == null)
            {
               continue;
            }
            foreach (Codeword codeword in detectionResultColumn.Codewords)
            {
               if (codeword == null || codeword.RowNumber == -1)
               {
                  continue;
               }
               barcodeMatrix[codeword.RowNumber][column].setValue(codeword.Value);
            }
         }
         return barcodeMatrix;
      }
      /// <summary>
      /// Creates the barcode matrix.
      /// </summary>
      /// <returns>The barcode matrix.</returns>
      /// <param name="detectionResult">Detection result.</param>
      private static BarcodeValue[][] createBarcodeMatrix(DetectionResult detectionResult)
      {
         // Manually setup Jagged Array in C#
         var barcodeMatrix = new BarcodeValue[detectionResult.RowCount][];
         for (int row = 0; row < barcodeMatrix.Length; row++)
         {
            barcodeMatrix[row] = new BarcodeValue[detectionResult.ColumnCount + 2];
            for (int col = 0; col < barcodeMatrix[row].Length; col++)
            {
               barcodeMatrix[row][col] = new BarcodeValue();
            }
         }

         int column = 0;
         foreach (DetectionResultColumn detectionResultColumn in detectionResult.getDetectionResultColumns())
         {
            if (detectionResultColumn != null)
            {
               foreach (Codeword codeword in detectionResultColumn.Codewords)
               {
                  if (codeword != null)
                  {
                     int rowNumber = codeword.RowNumber;
                     if (rowNumber >= 0)
                     {
                        if (rowNumber >= barcodeMatrix.Length)
                        {
                           // We have more rows than the barcode metadata allows for, ignore them.
                           continue;
                        }
                        barcodeMatrix[rowNumber][column].setValue(codeword.Value);
                     }
                  }
               }
            }
            column++;
         }

         return barcodeMatrix;
      }