API-QRMatrix.md 11 KB

QRMatrix

The full phpDocumentor API documentation can be found at chillerlan.github.io/php-qrcode.

Methods

method return description
__construct(Version $version, EccLevel $eccLevel) -
initFunctionalPatterns() self shortcut to initialize the functional patterns
getMatrix() array the internal matrix representation as a 2 dimensional array
getVersion() Version\|null the current QR Code version instance
getEccLevel() EccLevel\|null the current ECC level instance
getMaskPattern() MaskPattern\|null the used mask pattern instance
getSize() int the absoulute size of the matrix, including quiet zone (if set). $version * 4 + 17 + 2 * $quietzone
get(int $x, int $y) int returns the value of the module
set(int $x, int $y, bool $value, int $M_TYPE) self sets the $M_TYPE value for the module
setArea(int $startX, int $startY, int $width, int $height, bool $value, int $M_TYPE) self Fills an area of $width * $height, from the given starting point $startX, $startY (top left) with $value for $M_TYPE
checkType(int $x, int $y, int $M_TYPE) bool Checks whether a module is of the given $M_TYPE
checkTypeIn(int $x, int $y, array $M_TYPES) bool Checks whether the module at ($x, $y) is in the given array of $M_TYPES, returns true if a match is found, otherwise false
check(int $x, int $y) bool checks whether a module is true (dark) or false (light)
checkNeighbours(int $x, int $y, int $M_TYPE = null) int Checks the status neighbouring modules of the given module at ($x, $y) and returns a bitmask with the results.
setDarkModule() self
setFinderPattern() self
setSeparators() self
setAlignmentPattern() self
setTimingPattern() self
setVersionNumber() self
setFormatInfo(MaskPattern $maskPattern = null) self
setQuietZone(int $quietZoneSize) self Draws the "quiet zone" of $quietZoneSize around the matrix
rotate90() self Rotates the matrix by 90 degrees clock wise
setLogoSpace(int $width, int $height = null, int $startX = null, int $startY = null) self Clears a space of $width * $height in order to add a logo or text.
writeCodewords(BitBuffer $bitBuffer) self Maps the interleaved binary data on the matrix
mask(MaskPattern $maskPattern) self Applies/reverses the mask pattern

Deprecated methods

method since replacement
matrix() 5.0.0 QRMatrix::getMatrix()
eccLevel() 5.0.0 QRMatrix::getEccLevel()
version() 5.0.0 QRMatrix::getVersion()
maskPattern() 5.0.0 QRMatrix::getMaskPattern()
size() 5.0.0 QRMatrix::getSize()

Constants

The _DARK and _LIGHT postfixed constans exist purely for convenience - their value is the same as QRMatrix::M_XXX | QRMatrix::IS_DARK and QRMatrix::M_XXX ^ QRMatrix::IS_DARK respectively, see QROutputInterface.

name description
IS_DARK sets the "dark" flag for the given value: QRMatrix::M_DATA \| QRMatrix::IS_DARK
M_NULL module not set
M_DARKMODULE_LIGHT convenience (reversed reflectance)
M_DARKMODULE once per matrix at $xy = [8, 4 * $version + 9]
M_DATA the actual encoded data
M_DATA_DARK convenience
M_FINDER the 7x7 finder patterns
M_FINDER_DARK convenience
M_FINDER_DOT_LIGHT convenience (reversed reflectance)
M_FINDER_DOT the inner 3x3 block of the finder pattern
M_SEPARATOR separator lines along the finder patterns
M_SEPARATOR_DARK convenience
M_ALIGNMENT the 5x5 alignment patterns
M_ALIGNMENT_DARK convenience
M_TIMING the timing pattern lines
M_TIMING_DARK convenience
M_FORMAT format information pattern
M_FORMAT_DARK convenience
M_VERSION version information pattern
M_VERSION_DARK convenience
M_QUIETZONE margin around the QR Code
M_QUIETZONE_DARK convenience
M_LOGO space for a logo image (not used yet)
M_LOGO_DARK convenience
M_TEST test value
M_TEST_DARK convenience