QRMarkupSVG
extends QRMarkup
in package
SVG output
Tags
Table of Contents
Constants
- MIME_TYPE = 'image/svg+xml'
Properties
- $d : float
- $drawCircularModules : bool
- $drawLightModules : bool
- $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
- $r : float
- $scale : int
- The current module scale value (might have been modified)
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, runs a transform method on each module and returns an array with the transformed modules.
- 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
- moduleTransform() : string|null
- 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
$d
protected
float
$d
$drawCircularModules
protected
bool
$drawCircularModules
$drawLightModules
protected
bool
$drawLightModules
$keepAsSquare
protected
array<string|int, int>
$keepAsSquare
$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
$r
protected
float
$r
$scale
The current module scale value (might have been modified)
protected
int
$scale
Tags
Methods
__construct()
QROutputAbstract constructor.
public
__construct(SettingsContainerInterface|QROptions|iterable<string|int, mixed> $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, runs a transform method on each module and returns an array with the transformed modules.
protected
collectModules() : array<int, mixed>
Tags
Return values
array<int, mixed>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
stringmoduleTransform()
returns a path segment for a single module
protected
moduleTransform(int $x, int $y, int $M_TYPE, int $M_TYPE_LAYER) : string|null
Parameters
- $x : int
- $y : int
- $M_TYPE : int
- $M_TYPE_LAYER : int
Tags
Return values
string|nullpath()
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 output class 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