Class ByQuadrantReader

java.lang.Object
com.google.zxing.multi.ByQuadrantReader
All Implemented Interfaces:
Reader

public final class ByQuadrantReader extends Object implements Reader
This class attempts to decode a barcode from an image, not by scanning the whole image, but by scanning subsets of the image. This is important when there may be multiple barcodes in an image, and detecting a barcode may find parts of multiple barcode and fail to decode (e.g. QR Codes). Instead this scans the four quadrants of the image -- and also the center 'quadrant' to cover the case where a barcode is found in the center.
See Also:
  • Constructor Details

    • ByQuadrantReader

      public ByQuadrantReader(Reader delegate)
  • Method Details

    • decode

      Description copied from interface: Reader
      Locates and decodes a barcode in some format within an image.
      Specified by:
      decode in interface Reader
      Parameters:
      image - image of barcode to decode
      Returns:
      String which the barcode encodes
      Throws:
      NotFoundException - if no potential barcode is found
      ChecksumException - if a potential barcode is found but does not pass its checksum
      FormatException - if a potential barcode is found but format is invalid
    • decode

      Description copied from interface: Reader
      Locates and decodes a barcode in some format within an image. This method also accepts hints, each possibly associated to some data, which may help the implementation decode.
      Specified by:
      decode in interface Reader
      Parameters:
      image - image of barcode to decode
      hints - passed as a Map from DecodeHintType to arbitrary data. The meaning of the data depends upon the hint type. The implementation may or may not do anything with these hints.
      Returns:
      String which the barcode encodes
      Throws:
      NotFoundException - if no potential barcode is found
      ChecksumException - if a potential barcode is found but does not pass its checksum
      FormatException - if a potential barcode is found but format is invalid
    • reset

      public void reset()
      Description copied from interface: Reader
      Resets any internal state the implementation has after a decode, to prepare it for reuse.
      Specified by:
      reset in interface Reader