QROptions
extends SettingsContainerAbstract
in package
Uses
QROptionsTrait
The QRCode settings container
Table of Contents
- $addLogoSpace : bool
- Toggles logo space creation
- $addQuietzone : bool
- Add a "quiet zone" (margin) according to the QR code spec
- $bgColor : mixed|null
- Sets the image background color (if applicable)
- $cachefile : string|null
- /path/to/cache.file
- $circleRadius : float
- specifies the radius of the modules when $svgDrawCircularModules 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, mixed>
- specify which paths/patterns to exclude from connecting if $svgConnectPaths is set to true
- $fpdfMeasureUnit : string
- Measurement unit for FPDF output: pt, mm, cm, in (defaults to "pt")
- $imageBase64 : bool
- toggle base64 or raw image data (if applicable)
- $imageTransparent : bool
- toggle transparency
- $imagickFormat : string
- Imagick output format
- $jpegQuality : int
- $keepAsSquare : array<string|int, mixed>
- specifies which module types to exclude when $svgDrawCircularModules 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
- $markupDark : string
- markup substitute for dark (CSS value)
- $markupLight : string
- markup substitute for light (CSS value)
- $maskPattern : int
- Mask Pattern to use (no value in using, mostly for unit testing purposes)
- $moduleValues : array<string|int, mixed>|null
- Module values map
- $outputInterface : string|null
- the FQCN of the custom QROutputInterface if $outputType is set to QRCode::OUTPUT_CUSTOM
- $outputType : string
- The output type
- $pngCompression : int
- $quietzoneSize : int
- Size of the quiet zone
- $readerGrayscale : bool
- grayscale the image before reading
- $readerIncreaseContrast : bool
- increase the contrast before reading
- $readerUseImagickIfAvailable : bool
- use Imagick (if available) when reading QR Codes
- $returnResource : bool
- Return the image resource instead of a render if applicable.
- $scale : int
- pixel size of a QR code module
- $svgDefs : string
- anything between <defs>
- $svgHeight : string|null
- optional "height" attribute with the specified value (note that the value is not checked!)
- $svgOpacity : float
- SVG opacity
- $svgPreserveAspectRatio : string
- $svgViewBoxSize : int|null
- SVG viewBox size. a single integer number which defines width/height of the viewBox attribute.
- $svgWidth : string|null
- optional "width" attribute with the specified value (note that the value is not checked!)
- $textDark : string
- string substitute for dark
- $textLight : string
- string substitute for light
- $transparencyColor : mixed|null
- Sets a transparency color for when {@see \chillerlan\QRCode\QROptions::$imageTransparent QROptions::$imageTransparent} is set to true.
- $version : int
- QR Code version number
- $versionMax : int
- Maximum QR version
- $versionMin : int
- Minimum QR version
- 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_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_readerUseImagickIfAvailable() : void
- enables Imagick for the QR Code reader if the extension is available
- 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
Toggles logo space creation
protected
bool
$addLogoSpace
= false
$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|null
$bgColor
= null
- QRGdImage: defaults to "white"
- QRImagick: defaults to [255, 255, 255]
- QRFpdf: defaults to blank internally (white page)
$cachefile
/path/to/cache.file
protected
string|null
$cachefile
= null
please note that the $file parameter in QRCode::render*() takes precedence over the $cachefile value
$circleRadius
specifies the radius of the modules when $svgDrawCircularModules is set to true
protected
float
$circleRadius
= 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
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
$eccLevel
Error correct level
protected
int
$eccLevel
= \chillerlan\QRCode\Common\EccLevel::L
QRCode::ECC_X where X is:
- L => 7%
- M => 15%
- Q => 25%
- H => 30%
Tags
$eol
newline string
protected
string
$eol
= PHP_EOL
$excludeFromConnect
specify which paths/patterns to exclude from connecting if $svgConnectPaths is set to true
protected
array<string|int, mixed>
$excludeFromConnect
= []
$fpdfMeasureUnit
Measurement unit for FPDF output: pt, mm, cm, in (defaults to "pt")
protected
string
$fpdfMeasureUnit
= 'pt'
Tags
$imageBase64
toggle base64 or raw image data (if applicable)
protected
bool
$imageBase64
= true
$imageTransparent
toggle transparency
protected
bool
$imageTransparent
= true
- QRGdImage and QRImagick: the given QROptions::$transparencyColor is set as transparent
Tags
$imagickFormat
Imagick output format
protected
string
$imagickFormat
= 'png32'
Tags
$jpegQuality
protected
int
$jpegQuality
= 85
Tags
$keepAsSquare
specifies which module types to exclude when $svgDrawCircularModules is set to true
protected
array<string|int, mixed>
$keepAsSquare
= []
$logoSpaceHeight
height of the logo space
protected
int|null
$logoSpaceHeight
= null
if only either $logoSpaceWidth or $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 either $logoSpaceWidth or $logoSpaceHeight is given, the logo space is assumed a square of that size
$markupDark
markup substitute for dark (CSS value)
protected
string
$markupDark
= '#000'
$markupLight
markup substitute for light (CSS value)
protected
string
$markupLight
= '#fff'
$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
$moduleValues
Module values map
protected
array<string|int, mixed>|null
$moduleValues
= null
- QRImagick, QRMarkupHTML, QRMarkupSVG: #ABCDEF, cssname, rgb(), rgba()...
- QREps, QRFpdf, QRGdImage: [63, 127, 255] // R, G, B
$outputInterface
the FQCN of the custom QROutputInterface if $outputType is set to QRCode::OUTPUT_CUSTOM
protected
string|null
$outputInterface
= null
$outputType
The output type
protected
string
$outputType
= \chillerlan\QRCode\Output\QROutputInterface::MARKUP_SVG
- QROutputInterface::MARKUP_XXXX where XXXX = HTML, SVG
- QROutputInterface::GDIMAGE_XXX where XXX = PNG, GIF, JPG
- QROutputInterface::STRING_XXXX where XXXX = TEXT, JSON
- QROutputInterface::IMAGICK
- QROutputInterface::EPS
- QROutputInterface::FPDF
- QROutputInterface::CUSTOM
$pngCompression
protected
int
$pngCompression
= -1
Tags
$quietzoneSize
Size of the quiet zone
protected
int
$quietzoneSize
= 4
internally clamped to [0 ... $moduleCount / 2], defaults to 4 modules
$readerGrayscale
grayscale the image before reading
protected
bool
$readerGrayscale
= false
$readerIncreaseContrast
increase the contrast before reading
protected
bool
$readerIncreaseContrast
= false
note that applying contrast works different in GD and Imagick, so mileage may vary
$readerUseImagickIfAvailable
use Imagick (if available) when reading QR Codes
protected
bool
$readerUseImagickIfAvailable
= false
$returnResource
Return the image resource instead of a render if applicable.
protected
bool
$returnResource
= false
This option overrides other output options, such as $cachefile and $imageBase64.
Supported by the following modules:
- QRGdImage: resource (PHP < 8), GdImage
- QRImagick: Imagick
- QRFpdf: FPDF
Tags
$scale
pixel size of a QR code module
protected
int
$scale
= 5
$svgDefs
anything between <defs>
protected
string
$svgDefs
= ''
Tags
$svgHeight
optional "height" attribute with the specified value (note that the value is not checked!)
protected
string|null
$svgHeight
= null
Tags
$svgOpacity
SVG opacity
protected
float
$svgOpacity
= 1.0
$svgPreserveAspectRatio
protected
string
$svgPreserveAspectRatio
= 'xMidYMid'
Tags
$svgViewBoxSize
SVG viewBox size. a single integer number which defines width/height of the viewBox attribute.
protected
int|null
$svgViewBoxSize
= null
viewBox="0 0 x x"
Tags
$svgWidth
optional "width" attribute with the specified value (note that the value is not checked!)
protected
string|null
$svgWidth
= null
Tags
$textDark
string substitute for dark
protected
string
$textDark
= '🔴'
$textLight
string substitute for light
protected
string
$textLight
= 'â•'
$transparencyColor
Sets a transparency color for when {@see \chillerlan\QRCode\QROptions::$imageTransparent QROptions::$imageTransparent} is set to true.
protected
mixed|null
$transparencyColor
= null
Defaults to QROptions::$bgColor.
- QRGdImage: [R, G, B], this color is set as transparent in imagecolortransparent()
- QRImagick: "color_str", this color is set in Imagick::transparentPaintImage()
$version
QR Code version number
protected
int
$version
= \chillerlan\QRCode\Common\Version::AUTO
[1 ... 40] or Version::AUTO
$versionMax
Maximum QR version
protected
int
$versionMax
= 40
$versionMin
Minimum QR version
protected
int
$versionMin
= 1
if $version = QRCode::VERSION_AUTO
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|null —set_circleRadius()
clamp/set SVG circle radius
protected
set_circleRadius(float $circleRadius) : void
Parameters
- $circleRadius : float
Return values
void —set_fpdfMeasureUnit()
sets the FPDF measurement unit
protected
set_fpdfMeasureUnit(string $unit) : void
Parameters
- $unit : string
Tags
Return values
void —set_logoSpaceHeight()
clamp/set logo space height
protected
set_logoSpaceHeight(int|null $value) : void
Parameters
- $value : int|null
Return values
void —set_logoSpaceStartX()
clamp/set horizontal logo space start
protected
set_logoSpaceStartX(int|null $value) : void
Parameters
- $value : int|null
Return values
void —set_logoSpaceStartY()
clamp/set vertical logo space start
protected
set_logoSpaceStartY(int|null $value) : void
Parameters
- $value : int|null
Return values
void —set_logoSpaceWidth()
clamp/set logo space width
protected
set_logoSpaceWidth(int|null $value) : void
Parameters
- $value : int|null
Return values
void —set_quietzoneSize()
sets/clamps the quiet zone size
protected
set_quietzoneSize(int $quietzoneSize) : void
Parameters
- $quietzoneSize : int
Return values
void —set_readerUseImagickIfAvailable()
enables Imagick for the QR Code reader if the extension is available
protected
set_readerUseImagickIfAvailable(bool $useImagickIfAvailable) : void
Parameters
- $useImagickIfAvailable : bool
Return values
void —set_version()
sets/clamps the version number
protected
set_version(int $version) : void
Parameters
- $version : int
Return values
void —set_versionMax()
sets the maximum version number
protected
set_versionMax(int $version) : void
Parameters
- $version : int
Return values
void —set_versionMin()
sets the minimum version number
protected
set_versionMin(int $version) : void
Parameters
- $version : int
Return values
void —setMinMaxVersion()
clamp min/max version number
protected
setMinMaxVersion(int $versionMin, int $versionMax) : void
Parameters
- $versionMin : int
- $versionMax : int