QRMarkupSVG
extends QRMarkup
in package
SVG output
Tags
Table of Contents
Constants
- MIME_TYPE = 'image/svg+xml'
Properties
- $circleDiameter : float
- $circleRadius : float
- $connectPaths : bool
- $drawCircularModules : bool
- $drawLightModules : bool
- $eol : string
- $excludeFromConnect : array<string|int, int>
- $keepAsSquare : array<string|int, int>
- $length : int
- the side length of the QR image (modules * scale)
- $matrix : QRMatrix
- the (filled) data matrix object
- $moduleCount : int
- the current size of the QR matrix
- $moduleValues : array<string|int, mixed>
- an (optional) array of color values for the several QR matrix parts
- $options : SettingsContainerInterface|QROptions
- the options instance
- $scale : int
Methods
- __construct() : mixed
- QROutputAbstract constructor.
- dump() : string
- Generates the output, optionally dumps it to a file, and returns it
- moduleValueIsValid() : bool
- Determines whether the given value is valid
- collectModules() : array<int, mixed>
- collects the modules per QRMatrix::M_* type and runs a $transform function on each module and returns an array with the transformed modules
- copyVars() : void
- Creates copies of several QROptions values to avoid calling the magic getters in long loops for a significant performance increase.
- createMarkup() : string
- returns the fully parsed and rendered markup string for the given input
- getCssClass() : string
- returns a string with all css classes for the current element
- getDefaultModuleValue() : string
- implements \chillerlan\QRCode\Output\QROutputAbstract::getDefaultModuleValue()
- getModuleValue() : mixed
- Returns the prepared value for the given $M_TYPE
- getModuleValueAt() : mixed
- Returns the prepared module value at the given coordinate [$x, $y] (convenience)
- getOutputDimensions() : array<string|int, int>
- Returns a 2 element array with the current output width and height
- getViewBox() : string
- returns the value for the SVG viewBox attribute
- guessMimeType() : string
- Guesses the mime type from the given $imageData
- header() : string
- returns the <svg> header with the given options parsed
- module() : string
- returns a path segment for a single module
- path() : string
- renders and returns a single <path> element
- paths() : string
- returns one or more SVG <path> elements
- prepareModuleValue() : string
- implements \chillerlan\QRCode\Output\QROutputAbstract::prepareModuleValue()
- saveToFile() : void
- Saves the qr $data to a $file. If $file is null, nothing happens.
- setMatrixDimensions() : void
- Sets/updates the matrix dimensions
- setModuleValues() : void
- Sets the initial module values
- toBase64DataURI() : string
- Returns a base64 data URI for the given string and mime type
Constants
MIME_TYPE
public
final mixed
MIME_TYPE
= 'image/svg+xml'
Properties
$circleDiameter
protected
float
$circleDiameter
$circleRadius
protected
float
$circleRadius
Tags
$connectPaths
protected
bool
$connectPaths
Tags
$drawCircularModules
protected
bool
$drawCircularModules
Tags
$drawLightModules
protected
bool
$drawLightModules
Tags
$eol
protected
string
$eol
Tags
$excludeFromConnect
protected
array<string|int, int>
$excludeFromConnect
Tags
$keepAsSquare
protected
array<string|int, int>
$keepAsSquare
Tags
$length
the side length of the QR image (modules * scale)
protected
int
$length
$matrix
the (filled) data matrix object
protected
QRMatrix
$matrix
$moduleCount
the current size of the QR matrix
protected
int
$moduleCount
Tags
$moduleValues
an (optional) array of color values for the several QR matrix parts
protected
array<string|int, mixed>
$moduleValues
Tags
$options
the options instance
protected
SettingsContainerInterface|QROptions
$options
$scale
protected
int
$scale
Tags
Methods
__construct()
QROutputAbstract constructor.
public
__construct(SettingsContainerInterface|QROptions $options, QRMatrix $matrix) : mixed
Parameters
dump()
Generates the output, optionally dumps it to a file, and returns it
public
dump([string|null $file = null ]) : string
please note that the value of QROptions::$cachefile is already evaluated at this point. if the output module is invoked manually, it has no effect at all. you need to supply the $file parameter here in that case (or handle the option value in your custom output module).
Parameters
- $file : string|null = null
Return values
stringmoduleValueIsValid()
Determines whether the given value is valid
public
static moduleValueIsValid(mixed $value) : bool
Parameters
- $value : mixed
Tags
Return values
boolcollectModules()
collects the modules per QRMatrix::M_* type and runs a $transform function on each module and returns an array with the transformed modules
protected
collectModules(Closure $transform) : array<int, mixed>
The transform callback is called with the following parameters:
$x - current column $y - current row $M_TYPE - field value $M_TYPE_LAYER - (possibly modified) field value that acts as layer id
Parameters
- $transform : Closure
Return values
array<int, mixed>copyVars()
Creates copies of several QROptions values to avoid calling the magic getters in long loops for a significant performance increase.
protected
copyVars() : void
These variables are usually used in the "module" methods and are called up to 31329 times (at version 40).
createMarkup()
returns the fully parsed and rendered markup string for the given input
protected
createMarkup(bool $saveToFile) : string
Parameters
- $saveToFile : bool
Return values
stringgetCssClass()
returns a string with all css classes for the current element
protected
getCssClass([int $M_TYPE = 0 ]) : string
Parameters
- $M_TYPE : int = 0
Return values
stringgetDefaultModuleValue()
implements \chillerlan\QRCode\Output\QROutputAbstract::getDefaultModuleValue()
protected
getDefaultModuleValue(bool $isDark) : string
Parameters
- $isDark : bool
Return values
stringgetModuleValue()
Returns the prepared value for the given $M_TYPE
protected
getModuleValue(int $M_TYPE) : mixed
Parameters
- $M_TYPE : int
Tags
getModuleValueAt()
Returns the prepared module value at the given coordinate [$x, $y] (convenience)
protected
getModuleValueAt(int $x, int $y) : mixed
Parameters
- $x : int
- $y : int
getOutputDimensions()
Returns a 2 element array with the current output width and height
protected
getOutputDimensions() : array<string|int, int>
The type and units of the values depend on the output class. The default value is the current module count * scale.
Return values
array<string|int, int>getViewBox()
returns the value for the SVG viewBox attribute
protected
getViewBox() : string
Tags
Return values
stringguessMimeType()
Guesses the mime type from the given $imageData
protected
guessMimeType(string $imageData) : string
Parameters
- $imageData : string
Tags
Return values
stringheader()
returns the <svg> header with the given options parsed
protected
header() : string
Tags
Return values
stringmodule()
returns a path segment for a single module
protected
module(int $x, int $y, int $M_TYPE) : string
Parameters
- $x : int
- $y : int
- $M_TYPE : int
Tags
Return values
stringpath()
renders and returns a single <path> element
protected
path(string $path, int $M_TYPE) : string
Parameters
- $path : string
- $M_TYPE : int
Tags
Return values
stringpaths()
returns one or more SVG <path> elements
protected
paths() : string
Return values
stringprepareModuleValue()
implements \chillerlan\QRCode\Output\QROutputAbstract::prepareModuleValue()
protected
prepareModuleValue(string $value) : string
Parameters
- $value : string
Return values
stringsaveToFile()
Saves the qr $data to a $file. If $file is null, nothing happens.
protected
saveToFile(string $data[, string|null $file = null ]) : void
Parameters
- $data : string
- $file : string|null = null
Tags
setMatrixDimensions()
Sets/updates the matrix dimensions
protected
setMatrixDimensions() : void
Call this method if you modify the matrix from within your custom module in case the dimensions have been changed
setModuleValues()
Sets the initial module values
protected
setModuleValues() : void
toBase64DataURI()
Returns a base64 data URI for the given string and mime type
protected
toBase64DataURI(string $data[, string|null $mime = null ]) : string
The mime type can be set via class constant MIME_TYPE in child classes, or given via $mime, otherwise it is guessed from the image $data.
Parameters
- $data : string
- $mime : string|null = null