QROptionsTrait
The QRCode plug-in settings & setter functionality
Table of Contents
Properties
- $addLogoSpace : bool
- $addQuietzone : bool
- $bgColor : mixed
- $cachefile : string|null
- $circleRadius : float
- $connectPaths : bool
- $cssClass : string
- $drawCircularModules : bool
- $drawLightModules : bool
- $eccLevel : int
- $eol : string
- $excludeFromConnect : array<string|int, int>
- $fpdfMeasureUnit : string
- $gdImageUseUpscale : bool
- $imageTransparent : bool
- $imagickFormat : string
- $invertMatrix : bool
- $jsonFlags : int
- $keepAsSquare : array<string|int, int>
- $logoSpaceHeight : int|null
- $logoSpaceStartX : int|null
- $logoSpaceStartY : int|null
- $logoSpaceWidth : int|null
- $maskPattern : int
- $moduleValues : array<int, mixed>
- $outputBase64 : bool
- $outputInterface : string
- $quality : int
- $quietzoneSize : int
- $returnResource : bool
- $scale : int
- $svgAddXmlHeader : bool
- $svgDefs : string
- $svgPreserveAspectRatio : string
- $svgUseFillAttributes : bool
- $textLineStart : string
- $transparencyColor : mixed
- $version : int
- $versionMax : int
- $versionMin : int
- $xmlStylesheet : string|null
- $addLogoSpace : bool
- Toggles logo space creation
- $addQuietzone : bool
- Add a "quiet zone" (margin) according to the QR code spec
- $bgColor : mixed
- Sets the image background color (if applicable)
- $cachefile : string|null
- Optional cache file path `/path/to/cache.file`
- $circleRadius : float
- Specifies the radius of the modules when `QROptions::$drawCircularModules` is set to `true`
- $connectPaths : bool
- Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
- $cssClass : string
- A common css class
- $drawCircularModules : bool
- Specify whether to draw the modules as filled circles
- $drawLightModules : bool
- Whether to draw the light (false) modules
- $eccLevel : int
- Error correct level
- $eol : string
- Newline string
- $excludeFromConnect : array<string|int, int>
- Specify which paths/patterns to exclude from connecting if `QROptions::$connectPaths` is set to `true`
- $fpdfMeasureUnit : string
- Measurement unit for `FPDF` output: `pt`, `mm`, `cm`, `in` (default: `pt`)
- $gdImageUseUpscale : bool
- Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` is set to `true` and `QROptions::$scale` is less than 20
- $imageTransparent : bool
- Toggle transparency
- $imagickFormat : string
- Imagick output format
- $invertMatrix : bool
- Whether to invert the matrix (reflectance reversal)
- $jsonFlags : int
- Sets the flags to use for the `json_encode()` call
- $keepAsSquare : array<string|int, int>
- Specifies which module types to exclude when `QROptions::$drawCircularModules` is set to `true`
- $logoSpaceHeight : int|null
- Height of the logo space
- $logoSpaceStartX : int|null
- Optional horizontal start position of the logo space (top left corner)
- $logoSpaceStartY : int|null
- Optional vertical start position of the logo space (top left corner)
- $logoSpaceWidth : int|null
- Width of the logo space
- $maskPattern : int
- Mask Pattern to use (no value in using, mostly for unit testing purposes)
- $moduleValues : array<int, mixed>
- Module values map
- $outputBase64 : bool
- Toggle base64 data URI or raw data output (if applicable)
- $outputInterface : string
- The FQCN of the `QROutputInterface` to use
- $quality : int
- Compression quality
- $quietzoneSize : int
- Size of the quiet zone
- $returnResource : bool
- Return the image resource instead of a render if applicable.
- $scale : int
- Pixel size of a QR code module
- $svgAddXmlHeader : bool
- Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML
- $svgDefs : string
- Anything in the SVG `<defs>` tag
- $svgPreserveAspectRatio : string
- Sets the value for the "preserveAspectRatio" on the `<svg>` element
- $svgUseFillAttributes : bool
- Whether to use the SVG `fill` attributes
- $textLineStart : string
- An optional line prefix, e.g. empty space to align the QR Code in a console
- $transparencyColor : mixed
- Sets a transparency color for when `QROptions::$imageTransparent` is set to `true`.
- $version : int
- QR Code version number
- $versionMax : int
- Maximum QR version
- $versionMin : int
- Minimum QR version
- $xmlStylesheet : string|null
- Sets an optional XSLT stylesheet in the XML output
Methods
- clampLogoSpaceValue() : int|null
- clamp the logo space values between 0 and maximum length (177 modules at version 40)
- set_circleRadius() : void
- clamp/set SVG circle radius
- set_eccLevel() : void
- sets the ECC level
- set_fpdfMeasureUnit() : void
- sets the FPDF measurement unit
- set_logoSpaceHeight() : void
- clamp/set logo space height
- set_logoSpaceStartX() : void
- clamp/set horizontal logo space start
- set_logoSpaceStartY() : void
- clamp/set vertical logo space start
- set_logoSpaceWidth() : void
- clamp/set logo space width
- set_quietzoneSize() : void
- sets/clamps the quiet zone size
- set_version() : void
- sets/clamps the version number
- set_versionMax() : void
- sets the maximum version number
- set_versionMin() : void
- sets the minimum version number
- setMinMaxVersion() : void
- clamp min/max version number
Properties
$addLogoSpace
public
bool
$addLogoSpace
$addQuietzone
public
bool
$addQuietzone
$bgColor
public
mixed
$bgColor
$cachefile
public
string|null
$cachefile
$circleRadius
public
float
$circleRadius
$connectPaths
public
bool
$connectPaths
$cssClass
public
string
$cssClass
$drawCircularModules
public
bool
$drawCircularModules
$drawLightModules
public
bool
$drawLightModules
$eccLevel
public
int
$eccLevel
$eol
public
string
$eol
$excludeFromConnect
public
array<string|int, int>
$excludeFromConnect
$fpdfMeasureUnit
public
string
$fpdfMeasureUnit
$gdImageUseUpscale
public
bool
$gdImageUseUpscale
$imageTransparent
public
bool
$imageTransparent
$imagickFormat
public
string
$imagickFormat
$invertMatrix
public
bool
$invertMatrix
$jsonFlags
public
int
$jsonFlags
$keepAsSquare
public
array<string|int, int>
$keepAsSquare
$logoSpaceHeight
public
int|null
$logoSpaceHeight
$logoSpaceStartX
public
int|null
$logoSpaceStartX
$logoSpaceStartY
public
int|null
$logoSpaceStartY
$logoSpaceWidth
public
int|null
$logoSpaceWidth
$maskPattern
public
int
$maskPattern
$moduleValues
public
array<int, mixed>
$moduleValues
$outputBase64
public
bool
$outputBase64
$outputInterface
public
string
$outputInterface
$quality
public
int
$quality
$quietzoneSize
public
int
$quietzoneSize
$returnResource
public
bool
$returnResource
$scale
public
int
$scale
$svgAddXmlHeader
public
bool
$svgAddXmlHeader
$svgDefs
public
string
$svgDefs
$svgPreserveAspectRatio
public
string
$svgPreserveAspectRatio
$svgUseFillAttributes
public
bool
$svgUseFillAttributes
$textLineStart
public
string
$textLineStart
$transparencyColor
public
mixed
$transparencyColor
$version
public
int
$version
$versionMax
public
int
$versionMax
$versionMin
public
int
$versionMin
$xmlStylesheet
public
string|null
$xmlStylesheet
$addLogoSpace
Toggles logo space creation
protected
bool
$addLogoSpace
= false
Tags
$addQuietzone
Add a "quiet zone" (margin) according to the QR code spec
protected
bool
$addQuietzone
= true
Tags
$bgColor
Sets the image background color (if applicable)
protected
mixed
$bgColor
= null
-
QRImagick
: defaults to"white"
-
QRGdImage
: defaults to[255, 255, 255]
-
QRFpdf
: defaults to blank internally (white page)
$cachefile
Optional cache file path `/path/to/cache.file`
protected
string|null
$cachefile
= null
Please note that the $file
parameter in QRCode::render()
and QRCode::renderMatrix()
takes precedence over the QROptions::$cachefile
value. (default: null
)
Tags
$circleRadius
Specifies the radius of the modules when `QROptions::$drawCircularModules` is set to `true`
protected
float
$circleRadius
= 0.45
(default: 0.45)
$connectPaths
Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
protected
bool
$connectPaths
= false
This option is exclusive to output classes that use the module collector QROutputAbstract::collectModules()
,
which converts the $M_TYPE
of all modules to QRMatrix::M_DATA
and QRMatrix::M_DATA_DARK
respectively.
Module types that should not be added to the connected path can be excluded via QROptions::$excludeFromConnect
.
Currentty used in QREps
and QRMarkupSVG
.
Tags
$cssClass
A common css class
protected
string
$cssClass
= 'qrcode'
$drawCircularModules
Specify whether to draw the modules as filled circles
protected
bool
$drawCircularModules
= false
a note for GdImage
output:
if QROptions::$scale
is less than 20, the image will be upscaled internally, then the modules will be drawn
using imagefilledellipse()
and then scaled back to the expected size
No effect in: QREps
, QRFpdf
, QRMarkupHTML
Tags
$drawLightModules
Whether to draw the light (false) modules
protected
bool
$drawLightModules
= true
(default: true
)
$eccLevel
Error correct level
protected
int
$eccLevel
= \chillerlan\QRCode\Common\EccLevel::L
the constant EccLevel::X
where X
is:
-
L
=> 7% (default) -
M
=> 15% -
Q
=> 25% -
H
=> 30%
alternatively you can just pass the letters L/M/Q/H (case-insensitive) to the magic setter
Tags
$eol
Newline string
protected
string
$eol
= \PHP_EOL
(default: PHP_EOL
)
$excludeFromConnect
Specify which paths/patterns to exclude from connecting if `QROptions::$connectPaths` is set to `true`
protected
array<string|int, int>
$excludeFromConnect
= []
Tags
$fpdfMeasureUnit
Measurement unit for `FPDF` output: `pt`, `mm`, `cm`, `in` (default: `pt`)
protected
string
$fpdfMeasureUnit
= 'pt'
Tags
$gdImageUseUpscale
Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` is set to `true` and `QROptions::$scale` is less than 20
protected
bool
$gdImageUseUpscale
= true
Tags
$imageTransparent
Toggle transparency
protected
bool
$imageTransparent
= false
-
QRGdImage
andQRImagick
: the givenQROptions::$transparencyColor
is set as transparent
Tags
$imagickFormat
Imagick output format
protected
string
$imagickFormat
= 'png32'
Tags
$invertMatrix
Whether to invert the matrix (reflectance reversal)
protected
bool
$invertMatrix
= false
(default: false
)
Tags
$jsonFlags
Sets the flags to use for the `json_encode()` call
protected
int
$jsonFlags
= \JSON_THROW_ON_ERROR | \JSON_UNESCAPED_SLASHES
Tags
$keepAsSquare
Specifies which module types to exclude when `QROptions::$drawCircularModules` is set to `true`
protected
array<string|int, int>
$keepAsSquare
= []
(default: []
)
$logoSpaceHeight
Height of the logo space
protected
int|null
$logoSpaceHeight
= null
if only QROptions::$logoSpaceHeight
is given, the logo space is assumed a square of that size
$logoSpaceStartX
Optional horizontal start position of the logo space (top left corner)
protected
int|null
$logoSpaceStartX
= null
$logoSpaceStartY
Optional vertical start position of the logo space (top left corner)
protected
int|null
$logoSpaceStartY
= null
$logoSpaceWidth
Width of the logo space
protected
int|null
$logoSpaceWidth
= null
if only QROptions::$logoSpaceWidth
is given, the logo space is assumed a square of that size
$maskPattern
Mask Pattern to use (no value in using, mostly for unit testing purposes)
protected
int
$maskPattern
= \chillerlan\QRCode\Common\MaskPattern::AUTO
0 ... 7
or MaskPattern::PATTERN_AUTO
(default)
Tags
$moduleValues
Module values map
protected
array<int, mixed>
$moduleValues
= []
-
QRImagick
,QRMarkupHTML
,QRMarkupSVG
: #ABCDEF, cssname, rgb(), rgba()... -
QREps
,QRFpdf
,QRGdImage
:[R, G, B]
// 0-255 -
QREps
:[C, M, Y, K]
// 0-255
Tags
$outputBase64
Toggle base64 data URI or raw data output (if applicable)
protected
bool
$outputBase64
= true
(default: true
)
Tags
$outputInterface
The FQCN of the `QROutputInterface` to use
protected
string
$outputInterface
= \chillerlan\QRCode\Output\QRMarkupSVG::class
$quality
Compression quality
protected
int
$quality
= -1
The given value depends on the used output type:
-
QRGdImageBMP
:[0...1]
-
QRGdImageJPEG
:[0...100]
-
QRGdImageWEBP
:[0...9]
-
QRGdImagePNG
:[0...100]
-
QRImagick
:[0...100]
Tags
$quietzoneSize
Size of the quiet zone
protected
int
$quietzoneSize
= 4
internally clamped to 0 ... $moduleCount / 2
(default: 4)
$returnResource
Return the image resource instead of a render if applicable.
protected
bool
$returnResource
= false
-
QRGdImage
:resource
(PHP < 8),GdImage
-
QRImagick
:Imagick
-
QRFpdf
:FPDF
This option overrides/ignores other output settings, such as QROptions::$cachefile
and QROptions::$outputBase64
. (default: false
)
Tags
$scale
Pixel size of a QR code module
protected
int
$scale
= 5
$svgAddXmlHeader
Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML
protected
bool
$svgAddXmlHeader
= true
<?xml version="1.0" encoding="UTF-8"?>
$svgDefs
Anything in the SVG `<defs>` tag
protected
string
$svgDefs
= ''
Tags
$svgPreserveAspectRatio
Sets the value for the "preserveAspectRatio" on the `<svg>` element
protected
string
$svgPreserveAspectRatio
= 'xMidYMid'
Tags
$svgUseFillAttributes
Whether to use the SVG `fill` attributes
protected
bool
$svgUseFillAttributes
= true
If set to true
(default), the fill
attribute will be set with the module value for the <path>
element's $M_TYPE
.
When set to false
, the module values map will be ignored and the QR Code may be styled via CSS.
Tags
$textLineStart
An optional line prefix, e.g. empty space to align the QR Code in a console
protected
string
$textLineStart
= ''
$transparencyColor
Sets a transparency color for when `QROptions::$imageTransparent` is set to `true`.
protected
mixed
$transparencyColor
= null
Defaults to QROptions::$bgColor
.
-
QRGdImage
:[R, G, B]
, this color is set as transparent inimagecolortransparent()
-
QRImagick
:"color_str"
, this color is set inImagick::transparentPaintImage()
Tags
$version
QR Code version number
protected
int
$version
= \chillerlan\QRCode\Common\Version::AUTO
1 ... 40
or Version::AUTO
(default)
Tags
$versionMax
Maximum QR version
protected
int
$versionMax
= 40
if QROptions::$version
is set to Version::AUTO
(default: 40)
$versionMin
Minimum QR version
protected
int
$versionMin
= 1
if QROptions::$version
is set to Version::AUTO
(default: 1)
$xmlStylesheet
Sets an optional XSLT stylesheet in the XML output
protected
string|null
$xmlStylesheet
= null
Tags
Methods
clampLogoSpaceValue()
clamp the logo space values between 0 and maximum length (177 modules at version 40)
protected
clampLogoSpaceValue(int|null $value) : int|null
Parameters
- $value : int|null
Return values
int|nullset_circleRadius()
clamp/set SVG circle radius
protected
set_circleRadius(float $circleRadius) : void
Parameters
- $circleRadius : float
set_eccLevel()
sets the ECC level
protected
set_eccLevel(int|string $eccLevel) : void
Parameters
- $eccLevel : int|string
Tags
set_fpdfMeasureUnit()
sets the FPDF measurement unit
protected
set_fpdfMeasureUnit(string $unit) : void
Parameters
- $unit : string
Tags
set_logoSpaceHeight()
clamp/set logo space height
protected
set_logoSpaceHeight(int|null $value) : void
Parameters
- $value : int|null
set_logoSpaceStartX()
clamp/set horizontal logo space start
protected
set_logoSpaceStartX(int|null $value) : void
Parameters
- $value : int|null
set_logoSpaceStartY()
clamp/set vertical logo space start
protected
set_logoSpaceStartY(int|null $value) : void
Parameters
- $value : int|null
set_logoSpaceWidth()
clamp/set logo space width
protected
set_logoSpaceWidth(int|null $value) : void
Parameters
- $value : int|null
set_quietzoneSize()
sets/clamps the quiet zone size
protected
set_quietzoneSize(int $quietzoneSize) : void
Parameters
- $quietzoneSize : int
set_version()
sets/clamps the version number
protected
set_version(int $version) : void
Parameters
- $version : int
set_versionMax()
sets the maximum version number
protected
set_versionMax(int $version) : void
Parameters
- $version : int
set_versionMin()
sets the minimum version number
protected
set_versionMin(int $version) : void
Parameters
- $version : int
setMinMaxVersion()
clamp min/max version number
protected
setMinMaxVersion(int $versionMin, int $versionMax) : void
Parameters
- $versionMin : int
- $versionMax : int