API-QROptions.md 19 KB

QROptions

(via QROptionsTrait)

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

Methods

Inherited from SettingsContainerAbstract | method | return | info | |--------------------------------------------|------------------------------|-----------------------------------------------------------------------------------------------------------------| | __construct(iterable $properties = null) | - | calls construct() internally after the properties have been set | | (protected) construct() | void | calls a method with trait name as replacement constructor for each used trait (similar to PHP4 constructors) | | __get(string $property) | mixed | calls $this->{'get_'.$property}() if such a method exists | | __set(string $property, $value) | void | calls $this->{'set_'.$property}($value) if such a method exists | | __isset(string $property) | bool | | | __unset(string $property) | void | | | __toString() | string | a JSON string | | toArray() | array | | | fromIterable(iterable $properties) | SettingsContainerInterface | | | toJSON(int $jsonOptions = null) | string | accepts JSON options constants | | fromJSON(string $json) | SettingsContainerInterface | | | jsonSerialize() | mixed | implements the JsonSerializable interface |

Properties

property type default allowed description
$version int Version::AUTO 1...40, Version::AUTO QR Code version number
$versionMin int 1 1...40 Minimum QR version (if $version = QRCode::VERSION_AUTO)
$versionMax int 40 1...40 Maximum QR version (if $version = QRCode::VERSION_AUTO)
$eccLevel int EccLevel::L EccLevel::X Error correct level, where X = L (7%), M (15%), Q (25%), H (30%)
$maskPattern int MaskPattern::AUTO 0...7, MaskPattern::AUTO Mask Pattern to use
$addQuietzone bool true * Add a "quiet zone" (margin) according to the QR code spec
$quietzoneSize int 4 clamped to 0...($matrixSize / 2) Size of the quiet zone
$outputType string QROutputInterface::MARKUP_SVG QROutputInterface::XXX The built-in output type, XXX can be one of: MARKUP_HTML, MARKUP_SVG, GDIMAGE_PNG, GDIMAGE_JPG, GDIMAGE_GIF, STRING_TEXT, STRING_JSON, IMAGICK, EPS, FPDF, CUSTOM
$outputInterface string\|null null * The FQCN of the custom QROutputInterface if QROptions::$outputType is set to QROutputInterface::CUSTOM
$returnResource bool false * Return the image resource instead of a render if applicable.
$cachefile string\|null null * Optional cache file path
$imageBase64 bool true * Toggle base64 or raw image data (if applicable)
$eol string PHP_EOL * Newline string (HTML, SVG, TEXT)
$bgColor mixed null a valid FPDF, GD or Imagick color value Sets the image background color (if applicable). QRImagick: defaults to "white", QRGdImage: defaults to [255, 255, 255], QRFpdf: defaults to blank internally (white page)
$drawLightModules bool true * Whether to draw the light (false) modules
$drawCircularModules bool false * Specify whether to draw the modules as filled circles
$circleRadius float 0.45 0.1...0.75 Specifies the radius of the modules when $svgDrawCircularModules is set to true
$keepAsSquare array [] int[] Specifies which module types to exclude when $svgDrawCircularModules is set to true
$connectPaths bool false * Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
$excludeFromConnect array [] int[] Specify which paths/patterns to exclude from connecting if $svgConnectPaths is set to true
$moduleValues array\|null null * Module values map, see [[Custom module values]]
$addLogoSpace bool false * Toggles logo space creation
$logoSpaceWidth int\|null null * Width of the logo space
$logoSpaceHeight int\|null null * Height of the logo space
$logoSpaceStartX int\|null null * Optional horizontal start position of the logo space (top left corner)
$logoSpaceStartY int\|null null * Optional vertical start position of the logo space (top left corner)
$scale int 5 * Pixel size of a QR code module
$imageTransparent bool true * Toggle transparency (no jpeg support), QRGdImage and QRImagick only. The given QROptions::$transparencyColor is set as transparent
$transparencyColor mixed null a valid GD or Imagick color value Sets a transparency color for when QROptions::$imageTransparent is set to true. Defaults to QROptions::$bgColor.
$pngCompression int -1 -1...9 imagepng() compression level, -1 = auto
$jpegQuality int 85 0...100 imagejpeg() quality
$imagickFormat string 'png' * ImageMagick output type, see Imagick::setType()
$cssClass string 'qrcode' * A common css class
$markupDark string '#000' * Markup substitute for dark (CSS value)
$markupLight string '#fff' * Markup substitute for light (CSS value)
$svgAddXmlHeader bool true * Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML
$svgOpacity float 1.0 0...1 SVG opacity
$svgDefs string '' * Anything in the <defs> tag
$svgViewBoxSize int\|null null * SVG viewBox size. A single integer number which defines width/height of the viewBox attribute viewBox="0 0 x x".
$svgPreserveAspectRatio string 'xMidYMid' * See preserveAspectRatio on MDN
$svgWidth string\|null null * Optional "width" attribute with the specified value (note that the value is not checked!)
$svgHeight string\|null null * Optional "height" attribute with the specified value (note that the value is not checked!)
$textDark string '██' * String substitute for dark
$textLight string '░░' * String substitute for light
$textLineStart string '' * An optional line prefix, e.g. empty space to align the QR Code in a console
$jsonAsBooleans bool false * Whether to return matrix values in JSON as booleans or $M_TYPE integers
$fpdfMeasureUnit string 'pt' * Measurement unit for FPDF output: pt, mm, cm, in
$readerUseImagickIfAvailable bool false * Use Imagick (if available) when reading QR Codes
$readerGrayscale bool false * Grayscale the image before reading
$readerIncreaseContrast bool false * Increase the contrast before reading