Application
Table of Contents
Interfaces
- LuminanceSourceInterface
- Interface for the luminance sources
- QRDataModeInterface
- Specifies the methods reqired for the data modules (Number, Alphanum, Byte and Kanji)
- QROutputInterface
- Converts the data matrix into readable output
Classes
- BitBuffer
- Holds the raw binary data
- EccLevel
- This class encapsulates the four error correction levels defined by the QR code standard.
- ECICharset
- ISO/IEC 18004:2000 - 8.4.1 Extended Channel Interpretation (ECI) Mode
- GDLuminanceSource
- This class is used to help decode images from files which arrive as GD Resource
It does not support rotation.
- GenericGFPoly
- Represents a polynomial whose coefficients are elements of a GF.
- GF256
- This class contains utility methods for performing mathematical operations over
the Galois Fields. Operations use a given primitive polynomial in calculations.
- IMagickLuminanceSource
- This class is used to help decode images from files which arrive as Imagick Resource
It does not support rotation.
- LuminanceSourceAbstract
- The purpose of this class hierarchy is to abstract different bitmap implementations across
platforms into a standard interface for requesting greyscale luminance values.
- MaskPattern
- ISO/IEC 18004:2000 Section 8.8.1
ISO/IEC 18004:2000 Section 8.8.2 - Evaluation of masking results
- Mode
- Data mode information - ISO 18004:2006, 6.4.1, Tables 2 and 3
- Version
- Version related tables and methods
- AlphaNum
- Alphanumeric mode: 0 to 9, A to Z, space, $ % * + - . / :
- Byte
- 8-bit Byte mode, ISO-8859-1 or UTF-8
- ECI
- Adds an ECI Designator
- Hanzi
- Hanzi (simplified Chinese) mode, GBT18284-2000: 13-bit double-byte characters from the GB2312/GB18030 character set
- Kanji
- Kanji mode: 13-bit double-byte characters from the Shift-JIS character set
- Number
- Numeric mode: decimal digits 0 to 9
- QRCodeDataException
- An exception container
- QRData
- Processes the binary data and maps it on a QRMatrix which is then being returned
- QRDataModeAbstract
- abstract methods for the several data modes
- QRMatrix
- Holds an array representation of the final QR Code that contains numerical values for later output modifications;
maps the ECC coded binary data and applies the mask pattern
- ReedSolomonEncoder
- Reed-Solomon encoding - ISO/IEC 18004:2000 Section 8.5 ff
- Binarizer
- This class implements a local thresholding algorithm, which while slower than the
GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for
high frequency images of barcodes with black data on white backgrounds. For this application,
it does a much better job than a global blackpoint with severe shadows and gradients.
- BitMatrix
- Extended QRMatrix to map read data from the Binarizer
- Decoder
- The main class which implements QR Code decoding -- as opposed to locating and extracting
the QR Code from an image.
- DecoderResult
- Encapsulates the result of decoding a matrix of bits. This typically
applies to 2D barcode formats. For now, it contains the raw bytes obtained
as well as a String interpretation of those bytes, if applicable.
- QRCodeDecoderException
- An exception container
- ReedSolomonDecoder
- Implements Reed-Solomon decoding
- AlignmentPattern
- Encapsulates an alignment pattern, which are the smaller square patterns found in
all but the simplest QR Codes.
- AlignmentPatternFinder
- This class attempts to find alignment patterns in a QR Code. Alignment patterns look like finder
patterns but are smaller and appear at regular intervals throughout the image.
- Detector
- Encapsulates logic that can detect a QR Code in an image, even if the QR Code
is rotated or skewed, or partially obscured.
- FinderPattern
- Encapsulates a finder pattern, which are the three square patterns found in
the corners of QR Codes. It also encapsulates a count of similar finder patterns,
as a convenience to the finder's bookkeeping.
- FinderPatternFinder
- This class attempts to find finder patterns in a QR Code. Finder patterns are the square
markers at three corners of a QR Code.
- GridSampler
- Implementations of this class can, given locations of finder patterns for a QR code in an
image, sample the right points in the image to reconstruct the QR code, accounting for
perspective distortion. It is abstracted since it is relatively expensive and should be allowed
to take advantage of platform-specific optimized implementations, like Sun's Java Advanced
Imaging library, but which may not be available in other environments such as J2ME, and vice
versa.
- PerspectiveTransform
- This class implements a perspective transform in two dimensions. Given four source and four
destination points, it will compute the transformation implied between them. The code is based
directly upon section 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.
- QRCodeDetectorException
- An exception container
- ResultPoint
- Encapsulates a point of interest in an image containing a barcode. Typically, this
would be the location of a finder pattern or the corner of the barcode, for example.
- QRCodeOutputException
- An exception container
- QREps
- Encapsulated Postscript (EPS) output
- QRFpdf
- QRFpdf output module (requires fpdf)
- QRGdImage
- Converts the matrix into GD images, raw or base64 output (requires ext-gd)
- QRGdImageAVIF
- GDImage avif output
- QRGdImageBMP
- GdImage bmp output
- QRGdImageGIF
- GdImage gif output
- QRGdImageJPEG
- GdImage jpeg output
- QRGdImagePNG
- GdImage png output
- QRGdImageWEBP
- GdImage webp output
- QRImagick
- ImageMagick output module (requires ext-imagick)
- QRInterventionImage
- intervention/image (GD/ImageMagick) output
- QRMarkup
- Abstract for markup types: HTML, SVG, ... XML anyone?
- QRMarkupHTML
- HTML output (a cheap markup substitute when SVG is not available or not an option)
- QRMarkupSVG
- SVG output
- QRMarkupXML
- XML/XSLT output
- QROutputAbstract
- common output abstract
- QRStringJSON
- JSON Output
- QRStringText
- String/plaintext output (for CLI etc.)
- QRCode
- Turns a text string into a Model 2 QR Code
- QRCodeException
- An exception container
- QROptions
- The QRCode settings container
- BitBufferTest
- BitBuffer coverage test
- EccLevelTest
- EccLevel coverage test
- ECICharsetTest
- MaskPatternTest
- ModeTest
- Mode coverage test
- VersionTest
- Version coverage test
- AlphaNumTest
- Tests the AlphaNum class
- ByteTest
- Tests the Byte class
- DataInterfaceTestAbstract
- The data interface test abstract
- ECITest
- Tests the ECI class
- HanziTest
- Tests the Hanzi/GB2312 class
- KanjiTest
- Tests the Kanji class
- NumberTest
- Tests the Number class
- QRDataTest
- QRMatrixTest
- Tests the QRMatrix class
- QREpsTest
- Test abstract for the several (built-in) output modules,
should also be used to test custom output modules
- QRFpdfTest
- Tests the QRFpdf output module
- QRGdImageAVIFTest
- Tests the QRGdImage output module
- QRGdImageBMPTest
- Tests the QRGdImage output module
- QRGdImageGIFTest
- Tests the QRGdImage output module
- QRGdImageJPGTest
- Tests the QRGdImage output module
- QRGdImagePNGTest
- Tests the QRGdImage output module
- QRGdImageTestAbstract
- Tests the QRGdImage output module
- QRGdImageWEBPTest
- Tests the QRGdImage output module
- QRImagickTest
- Tests the QRImagick output module
- QRInterventionImageTest
- Tests the QRInterventionImage output module
- QRMarkupHTMLTest
- Tests the QRMarkup output module
- QRMarkupSVGTest
- Tests the QRMarkup output module
- QRMarkupTestAbstract
- Tests the QRMarkup output module
- QRMarkupXMLTest
- Tests the QRMarkup output module
- QROutputTestAbstract
- Test abstract for the several (built-in) output modules,
should also be used to test custom output modules
- QRStringJSONTest
- Test abstract for the several (built-in) output modules,
should also be used to test custom output modules
- QRStringTextTest
- Test abstract for the several (built-in) output modules,
should also be used to test custom output modules
- QRCodeReaderGDTest
- Tests the GD based reader
- QRCodeReaderImagickTest
- Tests the Imagick based reader
- QRCodeReaderTestAbstract
- Tests the QR Code reader
- QRCodeTest
- Tests basic functions of the QRCode class
- QROptionsTest
- QROptions test
Traits
- CssColorModuleValueTrait
- Module value checks for output classes that use CSS colors
- RGBArrayModuleValueTrait
- Module value checks for output classes that use RGB color arrays
- QRCodeReaderOptionsTrait
- Trait QRCodeReaderOptionsTrait
- QROptionsTrait
- The QRCode plug-in settings & setter functionality
- BuildDirTrait
- Trait BuildDirTrait
- CssColorModuleValueProviderTrait
- A data provider for use in tests that include CssColorModuleValueTrait
- RGBArrayModuleValueProviderTrait
- A data provider for use in tests that include RGBArrayModuleValueTrait
- QRMatrixDebugTrait
- Trait QRMatrixDebugTrait
- QRMaxLengthTrait
- Trait QRMaxLengthTrait