Documentation

QROptionsTrait

The QRCode plug-in settings & setter functionality

Table of Contents

$addLogoSpace  : bool
Toggles logo space creation
$addQuietzone  : bool
Add a "quiet zone" (margin) according to the QR code spec
$cachefile  : string|null
/path/to/cache.file
$circleRadius  : float
specifies the radius of the modules when $svgDrawCircularModules is set to true
$cssClass  : string
a common css class
$drawCircularModules  : bool
specify whether to draw the modules as filled circles
$eccLevel  : int
Error correct level
$eol  : string
newline string [HTML, SVG, TEXT]
$fpdfMeasureUnit  : string
Measurement unit for FPDF output: pt, mm, cm, in (defaults to "pt")
$imageBase64  : bool
toggle base64 or raw image data
$imageTransparencyBG  : array<string|int, mixed>
$imageTransparent  : bool
toggle transparency, not supported by jpg
$imagickBG  : string|null
Imagick background color (defaults to "transparent")
$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
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
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 Imaagick (if available) when reading QR Codes
$returnResource  : bool
Return the image resource instead of a render if applicable.
$scale  : int
size of a QR code pixel [SVG, IMAGE_*], HTML via CSS
$svgConnectPaths  : bool
whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
$svgDefs  : string
anything between <defs>
$svgExcludeFromConnect  : array<string|int, mixed>
specify which paths/patterns to exclude from connecting if $svgConnectPaths is set to true
$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
$version  : int
QR Code version number
$versionMax  : int
Maximum QR version
$versionMin  : int
Minimum QR version
getLuminanceSourceFQCN()  : string
returns the FQCN of the luminance source class to use in the reader (GD or Imagick)
clampLogoSpaceValue()  : int
clamp the logo space values between 0 and maximum length (177 modules at version 40)
set_eccLevel()  : void
sets the error correction level
set_fpdfMeasureUnit()  : void
sets the FPDF measurement unit
set_imageTransparencyBG()  : void
sets the transparency background color
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_maskPattern()  : void
sets/clamps the mask pattern
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

$cachefile

/path/to/cache.file

protected string|null $cachefile = null

$circleRadius

specifies the radius of the modules when $svgDrawCircularModules is set to true

protected float $circleRadius = 0.45

$cssClass

a common css class

protected string $cssClass = 'qrcode'

$eccLevel

Error correct level

protected int $eccLevel = chillerlanQRCodeCommonEccLevel::L

QRCode::ECC_X where X is:

  • L => 7%
  • M => 15%
  • Q => 25%
  • H => 30%

$eol

newline string [HTML, SVG, TEXT]

protected string $eol = PHP_EOL

$fpdfMeasureUnit

Measurement unit for FPDF output: pt, mm, cm, in (defaults to "pt")

protected string $fpdfMeasureUnit = 'pt'
Tags
see
FPDF::__construct()

$imageBase64

toggle base64 or raw image data

protected bool $imageBase64 = true

$imageTransparencyBG

protected array<string|int, mixed> $imageTransparencyBG = [255, 255, 255]
Tags
see
imagecolortransparent()

[R, G, B]

$imageTransparent

toggle transparency, not supported by jpg

protected bool $imageTransparent = true

$imagickBG

Imagick background color (defaults to "transparent")

protected string|null $imagickBG = null
Tags
see
ImagickPixel::__construct()

$jpegQuality

protected int $jpegQuality = 85
Tags
see
imagejpeg()

$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 $logoSpaceHeight = 0

$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 $logoSpaceWidth = 0

$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 = chillerlanQRCodeQRCode::MASK_PATTERN_AUTO

[0...7] or QRCode::MASK_PATTERN_AUTO

$moduleValues

Module values map

protected array<string|int, mixed>|null $moduleValues = null
  • HTML, IMAGICK: #ABCDEF, cssname, rgb(), rgba()...
  • IMAGE: [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 = chillerlanQRCodeQRCode::OUTPUT_MARKUP_SVG
  • QRCode::OUTPUT_MARKUP_XXXX where XXXX = HTML, SVG
  • QRCode::OUTPUT_IMAGE_XXX where XXX = PNG, GIF, JPG
  • QRCode::OUTPUT_STRING_XXXX where XXXX = TEXT, JSON
  • QRCode::OUTPUT_CUSTOM

$pngCompression

protected int $pngCompression = -1
Tags
see
imagepng()

$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 Imaagick (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:

  • QRImage: resource (PHP < 8), GdImage
  • QRImagick: Imagick
  • QRFpdf: FPDF
Tags
see
QROutputInterface::dump()

$scale

size of a QR code pixel [SVG, IMAGE_*], HTML via CSS

protected int $scale = 5

$svgExcludeFromConnect

specify which paths/patterns to exclude from connecting if $svgConnectPaths is set to true

protected array<string|int, mixed> $svgExcludeFromConnect = []

$textDark

string substitute for dark

protected string $textDark = '🔴'

$textLight

string substitute for light

protected string $textLight = 'â­•'

$version

QR Code version number

protected int $version = chillerlanQRCodeQRCode::VERSION_AUTO

[1 ... 40] or QRCode::VERSION_AUTO

$versionMin

Minimum QR version

protected int $versionMin = 1

if $version = QRCode::VERSION_AUTO

Methods

getLuminanceSourceFQCN()

returns the FQCN of the luminance source class to use in the reader (GD or Imagick)

public getLuminanceSourceFQCN() : string
Tags
see
LuminanceSourceInterface
Return values
string

clampLogoSpaceValue()

clamp the logo space values between 0 and maximum length (177 modules at version 40)

protected clampLogoSpaceValue(int $value) : int
Parameters
$value : int
Return values
int

set_eccLevel()

sets the error correction level

protected set_eccLevel(int $eccLevel) : void
Parameters
$eccLevel : int
Tags
throws
QRCodeException
Return values
void

set_fpdfMeasureUnit()

sets the FPDF measurement unit

protected set_fpdfMeasureUnit(string $unit) : void
Parameters
$unit : string
Tags
codeCoverageIgnore
Return values
void

set_imageTransparencyBG()

sets the transparency background color

protected set_imageTransparencyBG(array<string|int, mixed> $imageTransparencyBG) : void
Parameters
$imageTransparencyBG : array<string|int, mixed>
Tags
throws
QRCodeException
Return values
void

set_logoSpaceHeight()

clamp/set logo space height

protected set_logoSpaceHeight(int $value) : void
Parameters
$value : int
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 $value) : void
Parameters
$value : int
Return values
void

set_maskPattern()

sets/clamps the mask pattern

protected set_maskPattern(int $maskPattern) : void
Parameters
$maskPattern : 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
Return values
void

Search results