当前位置: 首页>>代码示例>>C#>>正文


C# com.google.zxing.common.BitArray.getNextUnset方法代码示例

本文整理汇总了C#中com.google.zxing.common.BitArray.getNextUnset方法的典型用法代码示例。如果您正苦于以下问题:C# com.google.zxing.common.BitArray.getNextUnset方法的具体用法?C# com.google.zxing.common.BitArray.getNextUnset怎么用?C# com.google.zxing.common.BitArray.getNextUnset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.zxing.common.BitArray的用法示例。


在下文中一共展示了com.google.zxing.common.BitArray.getNextUnset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: decodeRow


//.........这里部分代码省略.........
                    break;
                  case CODE_STOP:
                    done = true;
                    break;
                }
              }
              break;
            case CODE_CODE_C:
              if (code < 100)
              {
                if (code < 10)
                {
                  result.Append('0');
                }
                result.Append(code);
              }
              else
              {
                if (code != CODE_STOP)
                {
                  lastCharacterWasPrintable = false;
                }
                switch (code)
                {
                  case CODE_FNC_1:
                    // do nothing?
                    break;
                  case CODE_CODE_A:
                    codeSet = CODE_CODE_A;
                    break;
                  case CODE_CODE_B:
                    codeSet = CODE_CODE_B;
                    break;
                  case CODE_STOP:
                    done = true;
                    break;
                }
              }
              break;
              }

              // Unshift back to another code set if we were shifted
              if (unshift)
              {
            codeSet = codeSet == CODE_CODE_A ? CODE_CODE_B : CODE_CODE_A;
              }

            }

            // Check for ample whitespace following pattern, but, to do this we first need to remember that
            // we fudged decoding CODE_STOP since it actually has 7 bars, not 6. There is a black bar left
            // to read off. Would be slightly better to properly read. Here we just skip it:
            nextStart = row.getNextUnset(nextStart);
            if (!row.isRange(nextStart, Math.Min(row.Size, nextStart + (nextStart - lastStart) / 2), false))
            {
              throw NotFoundException.NotFoundInstance;
            }

            // Pull out from sum the value of the penultimate check code
            checksumTotal -= multiplier * lastCode;
            // lastCode is the checksum then:
            if (checksumTotal % 103 != lastCode)
            {
              throw ChecksumException.ChecksumInstance;
            }

            // Need to pull out the check digits from string
            int resultLength = result.Length;
            if (resultLength == 0)
            {
              // false positive
              throw NotFoundException.NotFoundInstance;
            }

            // Only bother if the result had at least one character, and if the checksum digit happened to
            // be a printable character. If it was just interpreted as a control code, nothing to remove.
            if (resultLength > 0 && lastCharacterWasPrintable)
            {
              if (codeSet == CODE_CODE_C)
              {
            result.Remove(resultLength - 2, 2);
              }
              else
              {
            result.Remove(resultLength - 1, 1);
              }
            }

            float left = (float)(startPatternInfo[1] + startPatternInfo[0]) / 2.0f;
            float right = (float)(nextStart + lastStart) / 2.0f;

            int rawCodesSize = rawCodes.Count;
            sbyte[] rawBytes = new sbyte[rawCodesSize];
            for (int i = 0; i < rawCodesSize; i++)
            {
              rawBytes[i] = rawCodes[i];
            }

            return new Result(result.ToString(), rawBytes, new ResultPoint[]{new ResultPoint(left, (float) rowNumber), new ResultPoint(right, (float) rowNumber)}, BarcodeFormat.CODE_128);
        }
开发者ID:Th3Ya0vi,项目名称:GameHouseUniverse,代码行数:101,代码来源:Code128Reader.cs


注:本文中的com.google.zxing.common.BitArray.getNextUnset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。