Configuration-settings.md.txt 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. # Configuration settings
  2. <!-- This file is auto generated from the source of QROptionsTrait.php -->
  3. ## version
  4. QR Code version number
  5. `1 ... 40` or `Version::AUTO` (default)
  6. **See also:**
  7. - `\chillerlan\QRCode\Common\Version`
  8. ## versionMin
  9. Minimum QR version
  10. if `QROptions::$version` is set to `Version::AUTO` (default: 1)
  11. ## versionMax
  12. Maximum QR version
  13. if `QROptions::$version` is set to `Version::AUTO` (default: 40)
  14. ## eccLevel
  15. Error correct level
  16. `EccLevel::X` where `X` is:
  17. - `L` => 7% (default)
  18. - `M` => 15%
  19. - `Q` => 25%
  20. - `H` => 30%
  21. **See also:**
  22. - `\chillerlan\QRCode\Common\EccLevel`
  23. - [github.com/chillerlan/php-qrcode/discussions/160](https://github.com/chillerlan/php-qrcode/discussions/160)
  24. ## maskPattern
  25. Mask Pattern to use (no value in using, mostly for unit testing purposes)
  26. `0 ... 7` or `MaskPattern::PATTERN_AUTO` (default)
  27. **See also:**
  28. - `\chillerlan\QRCode\Common\MaskPattern`
  29. ## addQuietzone
  30. Add a "quiet zone" (margin) according to the QR code spec
  31. **See also:**
  32. - [www.qrcode.com/en/howto/code.html](https://www.qrcode.com/en/howto/code.html)
  33. ## quietzoneSize
  34. Size of the quiet zone
  35. internally clamped to `0 ... $moduleCount / 2` (default: 4)
  36. ## returnResource
  37. Return the image resource instead of a render if applicable.
  38. - `QRGdImage`: `resource` (PHP < 8), `GdImage`
  39. - `QRImagick`: `Imagick`
  40. - `QRFpdf`: `FPDF`
  41. This option overrides/ignores other output settings, such as `QROptions::$cachefile`
  42. and `QROptions::$outputBase64`. (default: `false`)
  43. **See also:**
  44. - `\chillerlan\QRCode\Output\QROutputInterface::dump()`
  45. ## cachefile
  46. Optional cache file path `/path/to/cache.file`
  47. Please note that the `$file` parameter in `QRCode::render()` and `QRCode::renderMatrix()`
  48. takes precedence over the `QROptions::$cachefile` value. (default: `null`)
  49. **See also:**
  50. - `\chillerlan\QRCode\QRCode::render()`
  51. - `\chillerlan\QRCode\QRCode::renderMatrix()`
  52. ## outputBase64
  53. Toggle base64 data URI or raw data output (if applicable)
  54. (default: `true`)
  55. **See also:**
  56. - `\chillerlan\QRCode\Output\QROutputAbstract::toBase64DataURI()`
  57. ## eol
  58. Newline string
  59. (default: `PHP_EOL`)
  60. ## bgColor
  61. Sets the image background color (if applicable)
  62. - `QRImagick`: defaults to `"white"`
  63. - `QRGdImage`: defaults to `[255, 255, 255]`
  64. - `QRFpdf`: defaults to blank internally (white page)
  65. ## invertMatrix
  66. Whether to invert the matrix (reflectance reversal)
  67. (default: `false`)
  68. **See also:**
  69. - `\chillerlan\QRCode\Data\QRMatrix::invert()`
  70. ## drawLightModules
  71. Whether to draw the light (false) modules
  72. (default: `true`)
  73. ## drawCircularModules
  74. Specify whether to draw the modules as filled circles
  75. a note for `GdImage` output:
  76. if `QROptions::$scale` is less than 20, the image will be upscaled internally, then the modules will be drawn
  77. using `imagefilledellipse()` and then scaled back to the expected size
  78. No effect in: `QREps`, `QRFpdf`, `QRMarkupHTML`
  79. **See also:**
  80. - [php.net: `\imagefilledellipse()`](https://www.php.net/manual/function.imagefilledellipse)
  81. - [github.com/chillerlan/php-qrcode/issues/23](https://github.com/chillerlan/php-qrcode/issues/23)
  82. - [github.com/chillerlan/php-qrcode/discussions/122](https://github.com/chillerlan/php-qrcode/discussions/122)
  83. ## circleRadius
  84. Specifies the radius of the modules when `QROptions::$drawCircularModules` is set to `true`
  85. (default: 0.45)
  86. ## keepAsSquare
  87. Specifies which module types to exclude when `QROptions::$drawCircularModules` is set to `true`
  88. (default: `[]`)
  89. ## connectPaths
  90. Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
  91. **See also:**
  92. - [github.com/chillerlan/php-qrcode/issues/57](https://github.com/chillerlan/php-qrcode/issues/57)
  93. ## excludeFromConnect
  94. Specify which paths/patterns to exclude from connecting if `QROptions::$connectPaths` is set to `true`
  95. ## moduleValues
  96. Module values map
  97. - `QRImagick`, `QRMarkupHTML`, `QRMarkupSVG`: #ABCDEF, cssname, rgb(), rgba()...
  98. - `QREps`, `QRFpdf`, `QRGdImage`: `[R, G, B]` // 0-255
  99. - `QREps`: `[C, M, Y, K]` // 0-255
  100. **See also:**
  101. - `\chillerlan\QRCode\Output\QROutputAbstract::setModuleValues()`
  102. ## addLogoSpace
  103. Toggles logo space creation
  104. **See also:**
  105. - `\chillerlan\QRCode\QRCode::addMatrixModifications()`
  106. - `\chillerlan\QRCode\Data\QRMatrix::setLogoSpace()`
  107. ## logoSpaceWidth
  108. Width of the logo space
  109. if only `QROptions::$logoSpaceWidth` is given, the logo space is assumed a square of that size
  110. ## logoSpaceHeight
  111. Height of the logo space
  112. if only `QROptions::$logoSpaceHeight` is given, the logo space is assumed a square of that size
  113. ## logoSpaceStartX
  114. Optional horizontal start position of the logo space (top left corner)
  115. ## logoSpaceStartY
  116. Optional vertical start position of the logo space (top left corner)
  117. ## scale
  118. Pixel size of a QR code module
  119. ## imageTransparent
  120. Toggle transparency
  121. - `QRGdImage` and `QRImagick`: the given `QROptions::$transparencyColor` is set as transparent
  122. **See also:**
  123. - [github.com/chillerlan/php-qrcode/discussions/121](https://github.com/chillerlan/php-qrcode/discussions/121)
  124. ## transparencyColor
  125. Sets a transparency color for when `QROptions::$imageTransparent` is set to `true`.
  126. Defaults to `QROptions::$bgColor`.
  127. - `QRGdImage`: `[R, G, B]`, this color is set as transparent in `imagecolortransparent()`
  128. - `QRImagick`: `"color_str"`, this color is set in `Imagick::transparentPaintImage()`
  129. **See also:**
  130. - [php.net: `\imagecolortransparent()`](https://www.php.net/manual/function.imagecolortransparent)
  131. - [php.net: `\Imagick::transparentPaintImage()`](https://www.php.net/manual/imagick.transparentpaintimage)
  132. ## quality
  133. Compression quality
  134. The given value depends on the used output type:
  135. - `QRGdImageBMP`: `[0...1]`
  136. - `QRGdImageJPEG`: `[0...100]`
  137. - `QRGdImageWEBP`: `[0...9]`
  138. - `QRGdImagePNG`: `[0...100]`
  139. - `QRImagick`: `[0...100]`
  140. **See also:**
  141. - [php.net: `\imagebmp()`](https://www.php.net/manual/function.imagebmp)
  142. - [php.net: `\imagejpeg()`](https://www.php.net/manual/function.imagejpeg)
  143. - [php.net: `\imagepng()`](https://www.php.net/manual/function.imagepng)
  144. - [php.net: `\imagewebp()`](https://www.php.net/manual/function.imagewebp)
  145. - [php.net: `\Imagick::setImageCompressionQuality()`](https://www.php.net/manual/imagick.setimagecompressionquality)
  146. ## gdImageUseUpscale
  147. Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` is set to `true` and
  148. `QROptions::$scale` is less than 20
  149. **See also:**
  150. - `\chillerlan\QRCode\Output\QRGdImage::createImage()`
  151. - [github.com/chillerlan/php-qrcode/issues/23](https://github.com/chillerlan/php-qrcode/issues/23)
  152. ## imagickFormat
  153. Imagick output format
  154. **See also:**
  155. - [php.net: `\Imagick::setImageFormat()`](https://www.php.net/manual/imagick.setimageformat)
  156. - [www.imagemagick.org/script/formats.php](https://www.imagemagick.org/script/formats.php)
  157. ## cssClass
  158. A common css class
  159. ## svgAddXmlHeader
  160. Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML
  161. `<?xml version="1.0" encoding="UTF-8"?>`
  162. ## svgDefs
  163. Anything in the SVG `<defs>` tag
  164. **See also:**
  165. - [developer.mozilla.org/en-US/docs/Web/SVG/Element/defs](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs)
  166. ## svgPreserveAspectRatio
  167. Sets the value for the "preserveAspectRatio" on the `<svg>` element
  168. **See also:**
  169. - [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio)
  170. ## svgUseFillAttributes
  171. Whether to use the SVG `fill` attributes
  172. If set to `true` (default), the `fill` attribute will be set with the module value for the `<path>` element's `$M_TYPE`.
  173. When set to `false`, the module values map will be ignored and the QR Code may be styled via CSS.
  174. **See also:**
  175. - [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill)
  176. ## textLineStart
  177. An optional line prefix, e.g. empty space to align the QR Code in a console
  178. ## jsonFlags
  179. Sets the flags to use for the `json_encode()` call
  180. **See also:**
  181. - [www.php.net/manual/json.constants.php](https://www.php.net/manual/json.constants.php)
  182. ## jsonAsBooleans
  183. Whether to return matrix values in JSON as booleans or `$M_TYPE` integers
  184. ## fpdfMeasureUnit
  185. Measurement unit for `FPDF` output: `pt`, `mm`, `cm`, `in` (default: `pt`)
  186. **See also:**
  187. - `FPDF::__construct()`
  188. ## readerUseImagickIfAvailable
  189. Use Imagick (if available) when reading QR Codes
  190. ## readerGrayscale
  191. Grayscale the image before reading
  192. ## readerIncreaseContrast
  193. Increase the contrast before reading
  194. note that applying contrast works different in GD and Imagick, so mileage may vary