Jelajahi Sumber

Deploying to readthedocs from @ chillerlan/php-qrcode@f6dc397a563da246a305872d9133e77872c48949 🚀

codemasher 2 tahun lalu
induk
melakukan
bc028a226a

+ 26 - 11
Appendix/Contribute.html

@@ -20,8 +20,8 @@
     <script src="../_static/js/theme.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Terminology" href="Terminology.html" />
-    <link rel="prev" title="QRString" href="../Built-In-Output/QRString.html" /> 
+    <link rel="next" title="License" href="License.html" />
+    <link rel="prev" title="Performance considerations" href="Performance-considerations.html" /> 
 </head>
 </head>
 
 
 <body class="wy-body-for-nav"> 
 <body class="wy-body-for-nav"> 
@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul class="current">
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -402,8 +417,8 @@ The markdown sources for the <a class="reference external" href="https://php-qrc
            </div>
            </div>
           </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="../Built-In-Output/QRString.html" class="btn btn-neutral float-left" title="QRString" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="Terminology.html" class="btn btn-neutral float-right" title="Terminology" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="Performance-considerations.html" class="btn btn-neutral float-left" title="Performance considerations" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="License.html" class="btn btn-neutral float-right" title="License" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
     </div>
 
 
   <hr/>
   <hr/>

+ 24 - 9
Appendix/License.html

@@ -20,7 +20,7 @@
     <script src="../_static/js/theme.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="prev" title="Popular content and URI schemes" href="URI-Content.html" /> 
+    <link rel="prev" title="How to contribute" href="Contribute.html" /> 
 </head>
 </head>
 
 
 <body class="wy-body-for-nav"> 
 <body class="wy-body-for-nav"> 
@@ -108,6 +108,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -145,6 +147,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -252,13 +259,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul class="current">
 <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
@@ -312,6 +312,21 @@
 <li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">License</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">License</a></li>
 </ul>
 </ul>
 
 
@@ -786,7 +801,7 @@ Creative Commons may be contacted at creativecommons.org.
            </div>
            </div>
           </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="URI-Content.html" class="btn btn-neutral float-left" title="Popular content and URI schemes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="Contribute.html" class="btn btn-neutral float-left" title="How to contribute" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
     </div>
     </div>
 
 
   <hr/>
   <hr/>

+ 636 - 0
Appendix/Performance-considerations.html

@@ -0,0 +1,636 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Performance considerations &mdash; PHP-QRCode main
+ Manual</title>
+      <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a8da1a53"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="How to contribute" href="Contribute.html" />
+    <link rel="prev" title="Popular content and URI schemes" href="URI-Content.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html" class="icon icon-home">
+            PHP-QRCode
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Usage</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Overview.html">Overview</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#features">Features</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#requirements">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#framework-integration">Framework Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#shameless-advertising">Shameless advertising</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Installation.html">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#installation-with-composer">Installation with Composer</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#composer-json">composer.json</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../Usage/Installation.html#version-switch">Version switch</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#terminal">Terminal</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#manual-installation">Manual installation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#can-i-use-this-library-without-using-composer">Can i use this library without using composer?</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#supported-php-versions-extension-requirements">Supported PHP versions &amp; extension requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#imagemagick">ImageMagick</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Quickstart.html">Quickstart</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#import-the-library">Import the library</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#create-your-first-qr-code">Create your first QR Code</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Quickstart.html#configuration">Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#reading-qr-codes">Reading QR Codes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#notes">Notes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Advanced-usage.html">Advanced usage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#configuration-via-qroptions">Configuration via <code class="docutils literal notranslate"><span class="pre">QROptions</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#supply-an-iterable-of-options">Supply an <code class="docutils literal notranslate"><span class="pre">iterable</span></code> of options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#load-and-save-options-from-to-json">Load and save options from/to JSON</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#extending-the-qroptions-class">Extending the <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> class</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#qrcode-methods"><code class="docutils literal notranslate"><span class="pre">QRCode</span></code> methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#render-a-qrmatrix-instance">Render a <code class="docutils literal notranslate"><span class="pre">QRMatrix</span></code> instance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#mixed-mode">Mixed mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#qr-code-reader">QR Code reader</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#common-output-options">Common output options</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#save-to-file">Save to file</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#base64-uri-output">Base64 URI output</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#return-the-image-resource">Return the image resource</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#add-a-logo-space">Add a logo space</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Configuration-settings.html">Configuration settings</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#version">version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmin">versionMin</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmax">versionMax</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#ecclevel">eccLevel</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#eol">eol</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#bgcolor">bgColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#invertmatrix">invertMatrix</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawlightmodules">drawLightModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawcircularmodules">drawCircularModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#circleradius">circleRadius</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#keepassquare">keepAsSquare</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#connectpaths">connectPaths</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#excludefromconnect">excludeFromConnect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#modulevalues">moduleValues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addlogospace">addLogoSpace</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacewidth">logoSpaceWidth</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospaceheight">logoSpaceHeight</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestartx">logoSpaceStartX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestarty">logoSpaceStartY</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#scale">scale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparent">imageTransparent</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#transparencycolor">transparencyColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quality">quality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#gdimageuseupscale">gdImageUseUpscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickformat">imagickFormat</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cssclass">cssClass</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgaddxmlheader">svgAddXmlHeader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgdefs">svgDefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgpreserveaspectratio">svgPreserveAspectRatio</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgusefillattributes">svgUseFillAttributes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#textlinestart">textLineStart</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jsonflags">jsonFlags</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jsonasbooleans">jsonAsBooleans</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#fpdfmeasureunit">fpdfMeasureUnit</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readeruseimagickifavailable">readerUseImagickIfAvailable</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Customizing output</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Module-Values.html">Module values</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#basics">Basics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#assigning-values">Assigning values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#handling-in-your-own-qroutputinterface">Handling in your own <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#setting-module-values">Setting module values</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#using-the-module-values">Using the module values</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/QROutputAbstract.html"><code class="docutils literal notranslate"><span class="pre">QROutputAbstract</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#properties">Properties</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#options-and-matrix"><code class="docutils literal notranslate"><span class="pre">$options</span></code> and <code class="docutils literal notranslate"><span class="pre">$matrix</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulecount-scale-and-length"><code class="docutils literal notranslate"><span class="pre">$moduleCount</span></code>, <code class="docutils literal notranslate"><span class="pre">$scale</span></code> and <code class="docutils literal notranslate"><span class="pre">$length</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalues"><code class="docutils literal notranslate"><span class="pre">$moduleValues</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#copies-of-qroptions-values">Copies of <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> values</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#methods">Methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmodulevalues"><code class="docutils literal notranslate"><span class="pre">setModuleValues()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalueisvalid"><code class="docutils literal notranslate"><span class="pre">moduleValueIsValid()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#preparemodulevalue"><code class="docutils literal notranslate"><span class="pre">prepareModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getdefaultmodulevalue"><code class="docutils literal notranslate"><span class="pre">getDefaultModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getmodulevalue-and-getmodulevalueat"><code class="docutils literal notranslate"><span class="pre">getModuleValue()</span></code> and <code class="docutils literal notranslate"><span class="pre">getModuleValueAt()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmatrixdimensions"><code class="docutils literal notranslate"><span class="pre">setMatrixDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getoutputdimensions"><code class="docutils literal notranslate"><span class="pre">getOutputDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#collectmodules"><code class="docutils literal notranslate"><span class="pre">collectModules()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#savetofile-and-tobase64datauri"><code class="docutils literal notranslate"><span class="pre">saveToFile()</span></code> and <code class="docutils literal notranslate"><span class="pre">toBase64DataURI()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#module">Module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#version">Version</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#function-patterns">Function Patterns</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#finder-pattern">Finder Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#alignment-pattern">Alignment Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#timing-pattern">Timing Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#separators">Separators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#quiet-zone">Quiet Zone</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#encoding-region">Encoding Region</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#data">Data</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#version-information">Version Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#format-information">Format Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#darkmodule">Darkmodule</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#mode">Mode</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#segment">Segment</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#extended-channel-interpretation-eci">Extended Channel Interpretation (ECI)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#mixed-mode">Mixed Mode</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#ecc-error-correction-coding">ECC (Error Correction Coding)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#ecc-level">ECC Level</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#maximum-data-capacity">Maximum data capacity</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#data-masking">Data masking</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#evaluation">Evaluation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="Terminology.html#mask-pattern">Mask pattern</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="Terminology.html#reflectance">Reflectance</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="URI-Content.html">Popular content and URI schemes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#url-https">URL <code class="docutils literal notranslate"><span class="pre">https</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#e-mail-mailto">E-Mail <code class="docutils literal notranslate"><span class="pre">mailto</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#phone-numbers-tel">Phone numbers <code class="docutils literal notranslate"><span class="pre">tel</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#geo-coordinates-geo">Geo Coordinates <code class="docutils literal notranslate"><span class="pre">geo</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#mobile-authenticators-otpauth">Mobile Authenticators <code class="docutils literal notranslate"><span class="pre">otpauth</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#wireless-network-configuration">Wireless Network configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#contact-information-vcard">Contact information: vCard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#calendar-events-vcalendar-and-icalendar">Calendar Events: vCalendar and iCalendar</a></li>
+<li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
+</ul>
+</li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">PHP-QRCode</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Performance considerations</li>
+      <li class="wy-breadcrumbs-aside">
+              <a href="https://github.com/chillerlan/php-qrcode/blob/main/docs/Appendix/Performance-considerations.md" class="fa fa-github"> Edit on GitHub</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="performance-considerations">
+<h1>Performance considerations<a class="headerlink" href="#performance-considerations" title="Link to this heading"></a></h1>
+<p>Generating a QR Code is not a trivial task - it is a combination of countless complex mathematical operations.</p>
+<p>This library seeks not to be the fastest QR Code generator, but instead to provide flexibility and user friendlyness,
+which in turn comes with a slight performance cost.</p>
+<section id="version">
+<h2>Version<a class="headerlink" href="#version" title="Link to this heading"></a></h2>
+<p>The <a class="reference internal" href="Terminology.html#version"><span class="std std-ref">version of the QR symbol</span></a> is one of the major performance factors as it
+determines the size of the symbol and therefore the amount of data that can be stored. Iterating over the internal
+representation of the matrix takes more time with increasing size and the internals iterate over the matrix a LOT.</p>
+<p>Because of that you want of course to select the smallest possible version for the given data, which the encoder does by default.
+However, sometimes the possibly varying size of the symbol may not be desired and you want to choose a fixed size, in which case
+you should determine the maximum size of the input data and choose a version that fits.</p>
+</section>
+<section id="ecc-level">
+<h2>Ecc level<a class="headerlink" href="#ecc-level" title="Link to this heading"></a></h2>
+<p>Another factor is the <a class="reference internal" href="Terminology.html#ecc-error-correction-coding"><span class="std std-ref">ECC level</span></a> that determines the error correction capacity. The default setting is the lowest capacity (L, 7%)
+which allows the highest amount of data to be stored and which is good enough for e.g. on-screen display or poster prints.
+ECC level H on the other hand allows for up to 30% error correction capacity, which is great for “high risk” applications such as prints on mail.
+With increasing error correction capacity, the maximum amount of data a symbol can hold decreases, and a higher version number may be necessary.</p>
+</section>
+<section id="data-mode">
+<h2>Data mode<a class="headerlink" href="#data-mode" title="Link to this heading"></a></h2>
+<p>By default, the encoder auto-detects the best <a class="reference internal" href="Terminology.html#mode"><span class="std std-ref">mode for data encoding</span></a> (numeric, alphanumeric, kanji, hanzi or 8-bit binary)
+and depending on the length of the given data, the detection costs an increasing amount of time. To circumvent this,
+you can call one of the “add segment” methods on the <code class="docutils literal notranslate"><span class="pre">QRCode</span></code> instance, for example: <code class="docutils literal notranslate"><span class="pre">$qrcode-&gt;addByteSegment($data)</span></code>.</p>
+<p>Generally, using 8-bit binary mode (or just “byte mode”) is the fast and fail-safe mode for any kind of data, and with
+<a class="reference external" href="https://en.wikipedia.org/wiki/Extended_Channel_Interpretation">ECI</a> it even offers support for character sets other than UTF-8.
+So, unless you want to fit a large amount of japanese or chinese characters into a QR symbol of a certain version,
+encoding those characters as 3 or 4 byte UTF-8 may still be faster in 8-bit byte than in the “compressed” 13-bit double byte modes.</p>
+</section>
+<section id="mask-pattern">
+<h2>Mask pattern<a class="headerlink" href="#mask-pattern" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="Terminology.html#data-masking"><span class="std std-ref">Evaluating the QR symbol</span></a> in order to pick the right <a class="reference internal" href="Terminology.html#mask-pattern"><span class="std std-ref">mask pattern</span></a>
+is a complex and costly operation that is necessary to ensure the symbol is readable. Although <a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern"><span class="std std-ref">there is an option</span></a>
+to override the evaluation and manually set a mask pattern, this is not recommended unless you know exactly what you’re doing
+as it can render a QR symbol unreadable.</p>
+<p>The table below shows the performance impact (in miliseconds) of the mask pattern evaluation for each version, the times may vary between systems.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>version</p></th>
+<th class="head text-right"><p>1</p></th>
+<th class="head text-right"><p>2</p></th>
+<th class="head text-right"><p>3</p></th>
+<th class="head text-right"><p>4</p></th>
+<th class="head text-right"><p>5</p></th>
+<th class="head text-right"><p>6</p></th>
+<th class="head text-right"><p>7</p></th>
+<th class="head text-right"><p>8</p></th>
+<th class="head text-right"><p>9</p></th>
+<th class="head text-right"><p>10</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><strong>1-10</strong></p></td>
+<td class="text-right"><p>4.414</p></td>
+<td class="text-right"><p>5.697</p></td>
+<td class="text-right"><p>7.986</p></td>
+<td class="text-right"><p>9.221</p></td>
+<td class="text-right"><p>10.877</p></td>
+<td class="text-right"><p>11.293</p></td>
+<td class="text-right"><p>13.901</p></td>
+<td class="text-right"><p>15.563</p></td>
+<td class="text-right"><p>18.142</p></td>
+<td class="text-right"><p>20.501</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>11-20</strong></p></td>
+<td class="text-right"><p>22.662</p></td>
+<td class="text-right"><p>27.779</p></td>
+<td class="text-right"><p>29.622</p></td>
+<td class="text-right"><p>33.017</p></td>
+<td class="text-right"><p>36.358</p></td>
+<td class="text-right"><p>39.712</p></td>
+<td class="text-right"><p>43.685</p></td>
+<td class="text-right"><p>47.121</p></td>
+<td class="text-right"><p>51.389</p></td>
+<td class="text-right"><p>57.865</p></td>
+</tr>
+<tr class="row-even"><td><p><strong>21-30</strong></p></td>
+<td class="text-right"><p>59.753</p></td>
+<td class="text-right"><p>68.502</p></td>
+<td class="text-right"><p>68.523</p></td>
+<td class="text-right"><p>72.866</p></td>
+<td class="text-right"><p>78.245</p></td>
+<td class="text-right"><p>83.593</p></td>
+<td class="text-right"><p>88.327</p></td>
+<td class="text-right"><p>94.921</p></td>
+<td class="text-right"><p>103.394</p></td>
+<td class="text-right"><p>106.358</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>31-40</strong></p></td>
+<td class="text-right"><p>113.311</p></td>
+<td class="text-right"><p>120.484</p></td>
+<td class="text-right"><p>126.215</p></td>
+<td class="text-right"><p>132.931</p></td>
+<td class="text-right"><p>139.783</p></td>
+<td class="text-right"><p>145.617</p></td>
+<td class="text-right"><p>170.576</p></td>
+<td class="text-right"><p>165.996</p></td>
+<td class="text-right"><p>167.365</p></td>
+<td class="text-right"><p>175.821</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="output">
+<h2>Output<a class="headerlink" href="#output" title="Link to this heading"></a></h2>
+<p>Output rendering depends heavily on the size of the QR matrix, the desired type and the underlying libraries and/or PHP extensions.
+Especially the rendering of raster images through GD or ImagMagick can be very slow, depending on <a class="reference internal" href="../Usage/Configuration-settings.html#scale"><span class="std std-ref">the scale setting</span></a>,
+filters and image type.</p>
+<p>Below a comparison of the performance for the several built-in output classes (times in miliseconds, scale = 5):</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p></p></th>
+<th class="head text-right"><p>v5</p></th>
+<th class="head text-right"><p>v10</p></th>
+<th class="head text-right"><p>v15</p></th>
+<th class="head text-right"><p>v20</p></th>
+<th class="head text-right"><p>v25</p></th>
+<th class="head text-right"><p>v30</p></th>
+<th class="head text-right"><p>v35</p></th>
+<th class="head text-right"><p>v40</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><strong>QRMarkupSVG</strong></p></td>
+<td class="text-right"><p>3.732</p></td>
+<td class="text-right"><p>8.645</p></td>
+<td class="text-right"><p>13.846</p></td>
+<td class="text-right"><p>21.127</p></td>
+<td class="text-right"><p>32.842</p></td>
+<td class="text-right"><p>43.753</p></td>
+<td class="text-right"><p>56.584</p></td>
+<td class="text-right"><p>73.885</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>QRMarkupHTML</strong></p></td>
+<td class="text-right"><p>0.522</p></td>
+<td class="text-right"><p>1.308</p></td>
+<td class="text-right"><p>2.062</p></td>
+<td class="text-right"><p>2.761</p></td>
+<td class="text-right"><p>3.907</p></td>
+<td class="text-right"><p>5.201</p></td>
+<td class="text-right"><p>7.931</p></td>
+<td class="text-right"><p>9.572</p></td>
+</tr>
+<tr class="row-even"><td><p><strong>QRGdImageBMP</strong></p></td>
+<td class="text-right"><p>5.998</p></td>
+<td class="text-right"><p>12.541</p></td>
+<td class="text-right"><p>20.728</p></td>
+<td class="text-right"><p>32.336</p></td>
+<td class="text-right"><p>46.345</p></td>
+<td class="text-right"><p>62.842</p></td>
+<td class="text-right"><p>81.555</p></td>
+<td class="text-right"><p>106.482</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>QRGdImageGIF</strong></p></td>
+<td class="text-right"><p>3.427</p></td>
+<td class="text-right"><p>6.817</p></td>
+<td class="text-right"><p>12.226</p></td>
+<td class="text-right"><p>17.925</p></td>
+<td class="text-right"><p>25.453</p></td>
+<td class="text-right"><p>35.136</p></td>
+<td class="text-right"><p>44.706</p></td>
+<td class="text-right"><p>57.477</p></td>
+</tr>
+<tr class="row-even"><td><p><strong>QRGdImageJPEG</strong></p></td>
+<td class="text-right"><p>2.284</p></td>
+<td class="text-right"><p>4.882</p></td>
+<td class="text-right"><p>8.161</p></td>
+<td class="text-right"><p>12.097</p></td>
+<td class="text-right"><p>17.333</p></td>
+<td class="text-right"><p>23.862</p></td>
+<td class="text-right"><p>30.327</p></td>
+<td class="text-right"><p>40.226</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>QRGdImagePNG</strong></p></td>
+<td class="text-right"><p>4.523</p></td>
+<td class="text-right"><p>9.377</p></td>
+<td class="text-right"><p>16.581</p></td>
+<td class="text-right"><p>26.207</p></td>
+<td class="text-right"><p>36.516</p></td>
+<td class="text-right"><p>49.066</p></td>
+<td class="text-right"><p>63.765</p></td>
+<td class="text-right"><p>82.074</p></td>
+</tr>
+<tr class="row-even"><td><p><strong>QRGdImageWEBP</strong></p></td>
+<td class="text-right"><p>8.211</p></td>
+<td class="text-right"><p>17.367</p></td>
+<td class="text-right"><p>30.079</p></td>
+<td class="text-right"><p>47.095</p></td>
+<td class="text-right"><p>69.668</p></td>
+<td class="text-right"><p>91.378</p></td>
+<td class="text-right"><p>119.869</p></td>
+<td class="text-right"><p>150.288</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>QRStringJSON</strong></p></td>
+<td class="text-right"><p>0.043</p></td>
+<td class="text-right"><p>0.066</p></td>
+<td class="text-right"><p>0.107</p></td>
+<td class="text-right"><p>0.158</p></td>
+<td class="text-right"><p>0.215</p></td>
+<td class="text-right"><p>0.301</p></td>
+<td class="text-right"><p>0.369</p></td>
+<td class="text-right"><p>0.492</p></td>
+</tr>
+<tr class="row-even"><td><p><strong>QRStringText</strong></p></td>
+<td class="text-right"><p>0.229</p></td>
+<td class="text-right"><p>0.387</p></td>
+<td class="text-right"><p>0.628</p></td>
+<td class="text-right"><p>0.952</p></td>
+<td class="text-right"><p>1.312</p></td>
+<td class="text-right"><p>1.759</p></td>
+<td class="text-right"><p>2.329</p></td>
+<td class="text-right"><p>3.045</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>QRImagick</strong></p></td>
+<td class="text-right"><p>37.694</p></td>
+<td class="text-right"><p>68.808</p></td>
+<td class="text-right"><p>114.415</p></td>
+<td class="text-right"><p>172.962</p></td>
+<td class="text-right"><p>242.338</p></td>
+<td class="text-right"><p>325.085</p></td>
+<td class="text-right"><p>419.999</p></td>
+<td class="text-right"><p>529.897</p></td>
+</tr>
+<tr class="row-even"><td><p><strong>QRFpdf</strong></p></td>
+<td class="text-right"><p>6.578</p></td>
+<td class="text-right"><p>12.466</p></td>
+<td class="text-right"><p>21.169</p></td>
+<td class="text-right"><p>33.021</p></td>
+<td class="text-right"><p>45.469</p></td>
+<td class="text-right"><p>61.198</p></td>
+<td class="text-right"><p>80.092</p></td>
+<td class="text-right"><p>100.059</p></td>
+</tr>
+<tr class="row-odd"><td><p><strong>QREps</strong></p></td>
+<td class="text-right"><p>1.269</p></td>
+<td class="text-right"><p>2.694</p></td>
+<td class="text-right"><p>4.515</p></td>
+<td class="text-right"><p>6.933</p></td>
+<td class="text-right"><p>11.049</p></td>
+<td class="text-right"><p>14.181</p></td>
+<td class="text-right"><p>20.799</p></td>
+<td class="text-right"><p>25.886</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="URI-Content.html" class="btn btn-neutral float-left" title="Popular content and URI schemes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="Contribute.html" class="btn btn-neutral float-right" title="How to contribute" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, smiley.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>

+ 28 - 13
Appendix/Terminology.html

@@ -21,7 +21,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Popular content and URI schemes" href="URI-Content.html" />
     <link rel="next" title="Popular content and URI schemes" href="URI-Content.html" />
-    <link rel="prev" title="How to contribute" href="Contribute.html" /> 
+    <link rel="prev" title="QRString" href="../Built-In-Output/QRString.html" /> 
 </head>
 </head>
 
 
 <body class="wy-body-for-nav"> 
 <body class="wy-body-for-nav"> 
@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul class="current">
 <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Terminology</a><ul>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -358,14 +373,14 @@ where <code class="docutils literal notranslate"><span class="pre">x</span></cod
 the module is located, with counting commencing at 0. Module <code class="docutils literal notranslate"><span class="pre">(0,</span> <span class="pre">0)</span></code> is therefore located in the upper left corner of the symbol.</p>
 the module is located, with counting commencing at 0. Module <code class="docutils literal notranslate"><span class="pre">(0,</span> <span class="pre">0)</span></code> is therefore located in the upper left corner of the symbol.</p>
 <section id="module">
 <section id="module">
 <h3>Module<a class="headerlink" href="#module" title="Link to this heading"></a></h3>
 <h3>Module<a class="headerlink" href="#module" title="Link to this heading"></a></h3>
-<p>A <em>module</em> represents a single square “pixel” (not to confuse with pixels in a raster image or screen) in the matrix.
-A dark module is a binary one and a light module is a binary zero.</p>
+<p>A <em>module</em> represents a single square “pixel” in the matrix (not to confuse with pixels in a raster image or screen).
+A dark module represents a binary one and a light module represents a binary zero.</p>
 </section>
 </section>
 <section id="version">
 <section id="version">
 <h3>Version<a class="headerlink" href="#version" title="Link to this heading"></a></h3>
 <h3>Version<a class="headerlink" href="#version" title="Link to this heading"></a></h3>
 <p>The <em>version</em> of a QR symbol determines the side length of the matrix (and therefore the maximum capacity of code words),
 <p>The <em>version</em> of a QR symbol determines the side length of the matrix (and therefore the maximum capacity of code words),
-ranging from 21×21 modules at version 1 to 177×177 modules at version 40; the module count increases in steps of 4 and can
-be calculated by <code class="docutils literal notranslate"><span class="pre">4</span> <span class="pre">*</span> <span class="pre">version</span> <span class="pre">+</span> <span class="pre">17</span></code>.</p>
+ranging from 21×21 modules (441 total) at version 1 to 177×177 modules (31329 total) at version 40.
+The module count increases in steps of 4 and can be calculated by <code class="docutils literal notranslate"><span class="pre">4</span> <span class="pre">*</span> <span class="pre">version</span> <span class="pre">+</span> <span class="pre">17</span></code>.</p>
 <p>The maximum capacity for each version, mode and ECC level can be found in <a class="reference external" href="https://www.qrcode.com/en/about/version.html">this table (qrcode.com)</a>.</p>
 <p>The maximum capacity for each version, mode and ECC level can be found in <a class="reference external" href="https://www.qrcode.com/en/about/version.html">this table (qrcode.com)</a>.</p>
 </section>
 </section>
 </section>
 </section>
@@ -798,7 +813,7 @@ reflectance reversal therefore means a light image on dark background (example o
            </div>
            </div>
           </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="Contribute.html" class="btn btn-neutral float-left" title="How to contribute" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../Built-In-Output/QRString.html" class="btn btn-neutral float-left" title="QRString" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="URI-Content.html" class="btn btn-neutral float-right" title="Popular content and URI schemes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
         <a href="URI-Content.html" class="btn btn-neutral float-right" title="Popular content and URI schemes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
     </div>
 
 

+ 24 - 9
Appendix/URI-Content.html

@@ -20,7 +20,7 @@
     <script src="../_static/js/theme.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="License" href="License.html" />
+    <link rel="next" title="Performance considerations" href="Performance-considerations.html" />
     <link rel="prev" title="Terminology" href="Terminology.html" /> 
     <link rel="prev" title="Terminology" href="Terminology.html" /> 
 </head>
 </head>
 
 
@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul class="current">
 <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -657,7 +672,7 @@ END:VCALENDAR
           </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="Terminology.html" class="btn btn-neutral float-left" title="Terminology" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="Terminology.html" class="btn btn-neutral float-left" title="Terminology" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="License.html" class="btn btn-neutral float-right" title="License" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="Performance-considerations.html" class="btn btn-neutral float-right" title="Performance considerations" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
     </div>
 
 
   <hr/>
   <hr/>

+ 22 - 7
Built-In-Output/QREps.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 22 - 7
Built-In-Output/QRFpdf.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 22 - 7
Built-In-Output/QRGdImage.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 22 - 13
Built-In-Output/QRImagick.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -466,12 +481,6 @@
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
 </tr>

+ 22 - 16
Built-In-Output/QRMarkupHTML.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -353,9 +368,6 @@ As a general rule: if you plan to display the QR Code in a web browser, you shou
 
 
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>   <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">MARKUP_HTML</span><span class="p">;</span>
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>   <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">MARKUP_HTML</span><span class="p">;</span>
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">cssClass</span>     <span class="o">=</span> <span class="s1">&#39;qrcode&#39;</span><span class="p">;</span>
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">cssClass</span>     <span class="o">=</span> <span class="s1">&#39;qrcode&#39;</span><span class="p">;</span>
-<span class="c1">// default values for unassigned module types</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupDark</span>   <span class="o">=</span> <span class="s1">&#39;#555&#39;</span><span class="p">;</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupLight</span>  <span class="o">=</span> <span class="s1">&#39;#CCC&#39;</span><span class="p">;</span>
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span> <span class="o">=</span> <span class="p">[</span>
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span> <span class="o">=</span> <span class="p">[</span>
 	<span class="c1">// finder</span>
 	<span class="c1">// finder</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// dark (true)</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// dark (true)</span>
@@ -444,12 +456,6 @@ As a general rule: if you plan to display the QR Code in a web browser, you shou
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
 </tbody>
 </tbody>
 </table>
 </table>
 <section id="options-that-have-no-effect">
 <section id="options-that-have-no-effect">

+ 33 - 23
Built-In-Output/QRMarkupSVG.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -349,21 +364,19 @@
 <p>Set the options:</p>
 <p>Set the options:</p>
 <div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
 <div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
 
 
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">version</span>             <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>          <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">MARKUP_SVG</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">version</span>              <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>           <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">MARKUP_SVG</span><span class="p">;</span>
 <span class="c1">// if set to false, the light modules won&#39;t be rendered</span>
 <span class="c1">// if set to false, the light modules won&#39;t be rendered</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span>    <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
-<span class="c1">// empty the default value to remove the fill* and opacity* attributes from the &lt;path&gt; elements</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupDark</span>          <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupLight</span>         <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span>     <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">svgUseFillAttributes</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
 <span class="c1">// draw the modules as circles isntead of squares</span>
 <span class="c1">// draw the modules as circles isntead of squares</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawCircularModules</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">circleRadius</span>        <span class="o">=</span> <span class="mf">0.4</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawCircularModules</span>  <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">circleRadius</span>         <span class="o">=</span> <span class="mf">0.4</span><span class="p">;</span>
 <span class="c1">// connect paths to avoid render glitches</span>
 <span class="c1">// connect paths to avoid render glitches</span>
 <span class="c1">// @see https://github.com/chillerlan/php-qrcode/issues/57</span>
 <span class="c1">// @see https://github.com/chillerlan/php-qrcode/issues/57</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">connectPaths</span>        <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">connectPaths</span>         <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
 <span class="c1">// keep modules of these types as square</span>
 <span class="c1">// keep modules of these types as square</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">keepAsSquare</span>        <span class="o">=</span> <span class="p">[</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">keepAsSquare</span>         <span class="o">=</span> <span class="p">[</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span><span class="p">,</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span><span class="p">,</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span><span class="p">,</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span><span class="p">,</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span><span class="p">,</span>
 	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span><span class="p">,</span>
@@ -460,12 +473,6 @@
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
 </tr>
@@ -484,6 +491,9 @@
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code></p></td>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int|null</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int|null</span></code></p></td>
 </tr>
 </tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgUseFillAttributes</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
 </tbody>
 </tbody>
 </table>
 </table>
 <section id="options-that-have-no-effect">
 <section id="options-that-have-no-effect">

+ 24 - 9
Built-In-Output/QRString.html

@@ -20,7 +20,7 @@
     <script src="../_static/js/theme.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="How to contribute" href="../Appendix/Contribute.html" />
+    <link rel="next" title="Terminology" href="../Appendix/Terminology.html" />
     <link rel="prev" title="QRMarkupSVG" href="QRMarkupSVG.html" /> 
     <link rel="prev" title="QRMarkupSVG" href="QRMarkupSVG.html" /> 
 </head>
 </head>
 
 
@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -500,7 +515,7 @@
           </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="QRMarkupSVG.html" class="btn btn-neutral float-left" title="QRMarkupSVG" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="QRMarkupSVG.html" class="btn btn-neutral float-left" title="QRMarkupSVG" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="../Appendix/Contribute.html" class="btn btn-neutral float-right" title="How to contribute" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="../Appendix/Terminology.html" class="btn btn-neutral float-right" title="Terminology" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
     </div>
 
 
   <hr/>
   <hr/>

+ 22 - 7
Customizing/Module-Values.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 24 - 9
Customizing/QROutputAbstract.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -363,8 +378,8 @@ The method <code class="docutils literal notranslate"><span class="pre">setMatri
 <section id="copies-of-qroptions-values">
 <section id="copies-of-qroptions-values">
 <h3>Copies of <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> values<a class="headerlink" href="#copies-of-qroptions-values" title="Link to this heading"></a></h3>
 <h3>Copies of <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> values<a class="headerlink" href="#copies-of-qroptions-values" title="Link to this heading"></a></h3>
 <p>Some values from the <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> instance are copied to properties to avoid calling the magic getters in long loops for a significant performance increase, e.g. in the module collector.
 <p>Some values from the <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> instance are copied to properties to avoid calling the magic getters in long loops for a significant performance increase, e.g. in the module collector.
-Currently, the following values are copied via <code class="docutils literal notranslate"><span class="pre">copyVars()</span></code> during invocation:
-<code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code>, <code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code>, <code class="docutils literal notranslate"><span class="pre">$eol</span></code>, <code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code>, <code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code>, <code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code>, <code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code>.</p>
+Currently, the following values are copied via <code class="docutils literal notranslate"><span class="pre">copyVars()</span></code> during invocation: <code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code>, <code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code>, <code class="docutils literal notranslate"><span class="pre">$eol</span></code>,
+<code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code>, <code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code>, <code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code>, <code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code> (and additionally <code class="docutils literal notranslate"><span class="pre">$circleDiameter</span></code>).</p>
 </section>
 </section>
 </section>
 </section>
 <section id="methods">
 <section id="methods">

+ 22 - 7
Usage/Advanced-usage.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 100 - 7
Usage/Configuration-settings.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -400,6 +415,44 @@
 <p>Size of the quiet zone</p>
 <p>Size of the quiet zone</p>
 <p>internally clamped to <code class="docutils literal notranslate"><span class="pre">0</span> <span class="pre">...</span> <span class="pre">$moduleCount</span> <span class="pre">/</span> <span class="pre">2</span></code> (default: 4)</p>
 <p>internally clamped to <code class="docutils literal notranslate"><span class="pre">0</span> <span class="pre">...</span> <span class="pre">$moduleCount</span> <span class="pre">/</span> <span class="pre">2</span></code> (default: 4)</p>
 </section>
 </section>
+<section id="outputtype">
+<h2>outputType<a class="headerlink" href="#outputtype" title="Link to this heading"></a></h2>
+<p>The built-in output type</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::MARKUP_SVG</span></code> (default)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::MARKUP_HTML</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::GDIMAGE_BMP</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::GDIMAGE_GIF</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::GDIMAGE_JPG</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::GDIMAGE_PNG</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::GDIMAGE_WEBP</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::STRING_TEXT</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::STRING_JSON</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::IMAGICK</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::EPS</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::FPDF</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">QROutputInterface::CUSTOM</span></code></p></li>
+</ul>
+<p><strong>Deprecated:</strong> 5.0.0 see issue #223</p>
+<p><strong>See also:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QREps</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QRFpdf</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QRGdImage</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QRImagick</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QRMarkupHTML</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QRMarkupSVG</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">\chillerlan\QRCode\Output\QRString</span></code></p></li>
+<li><p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/issues/223">github.com/chillerlan/php-qrcode/issues/223</a></p></li>
+</ul>
+</section>
+<section id="outputinterface">
+<h2>outputInterface<a class="headerlink" href="#outputinterface" title="Link to this heading"></a></h2>
+<p>The FQCN of the custom <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></p>
+<p>if <code class="docutils literal notranslate"><span class="pre">QROptions::$outputType</span></code> is set to <code class="docutils literal notranslate"><span class="pre">QROutputInterface::CUSTOM</span></code> (default: <code class="docutils literal notranslate"><span class="pre">null</span></code>)</p>
+<p><strong>Deprecated:</strong> 5.0.0 the nullable type will be removed in future versions
+and the default value will be set to <code class="docutils literal notranslate"><span class="pre">QRMarkupSVG::class</span></code></p>
+</section>
 <section id="returnresource">
 <section id="returnresource">
 <h2>returnResource<a class="headerlink" href="#returnresource" title="Link to this heading"></a></h2>
 <h2>returnResource<a class="headerlink" href="#returnresource" title="Link to this heading"></a></h2>
 <p>Return the image resource instead of a render if applicable.</p>
 <p>Return the image resource instead of a render if applicable.</p>
@@ -683,6 +736,46 @@ When set to <code class="docutils literal notranslate"><span class="pre">false</
 <p>Increase the contrast before reading</p>
 <p>Increase the contrast before reading</p>
 <p>note that applying contrast works different in GD and Imagick, so mileage may vary</p>
 <p>note that applying contrast works different in GD and Imagick, so mileage may vary</p>
 </section>
 </section>
+<section id="imagebase64">
+<h2>imageBase64<a class="headerlink" href="#imagebase64" title="Link to this heading"></a></h2>
+<p><strong>Deprecated:</strong> 5.0.0 use QROptions::$outputBase64 instead</p>
+<p><strong>See also:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate">&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">\chillerlan\QRCode\QROptions::$outputBase64</span></code></p></li>
+</ul>
+</section>
+<section id="jpegquality">
+<h2>jpegQuality<a class="headerlink" href="#jpegquality" title="Link to this heading"></a></h2>
+<p><strong>Deprecated:</strong> 5.0.0 use QROptions::$quality instead</p>
+<p><strong>See also:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate">&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">\chillerlan\QRCode\QROptions::$quality</span></code></p></li>
+</ul>
+</section>
+<section id="pngcompression">
+<h2>pngCompression<a class="headerlink" href="#pngcompression" title="Link to this heading"></a></h2>
+<p><strong>Deprecated:</strong> 5.0.0 use QROptions::$quality instead</p>
+<p><strong>See also:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate">&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">\chillerlan\QRCode\QROptions::$quality</span></code></p></li>
+</ul>
+</section>
+<section id="imagetransparencybg">
+<h2>imageTransparencyBG<a class="headerlink" href="#imagetransparencybg" title="Link to this heading"></a></h2>
+<p><strong>Deprecated:</strong> 5.0.0 use QROptions::$transparencyColor instead</p>
+<p><strong>See also:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate">&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">\chillerlan\QRCode\QROptions::$transparencyColor</span></code></p></li>
+</ul>
+</section>
+<section id="imagickbg">
+<h2>imagickBG<a class="headerlink" href="#imagickbg" title="Link to this heading"></a></h2>
+<p><strong>Deprecated:</strong> 5.0.0 use QROptions::$bgColor instead</p>
+<p><strong>See also:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate">&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">\chillerlan\QRCode\QROptions::$bgColor</span></code></p></li>
+</ul>
+</section>
 </section>
 </section>
 
 
 
 

+ 22 - 7
Usage/Installation.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 22 - 7
Usage/Overview.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 22 - 7
Usage/Quickstart.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 78 - 0
_sources/Appendix/Performance-considerations.md.txt

@@ -0,0 +1,78 @@
+# Performance considerations
+
+Generating a QR Code is not a trivial task - it is a combination of countless complex mathematical operations.
+
+This library seeks not to be the fastest QR Code generator, but instead to provide flexibility and user friendlyness,
+which in turn comes with a slight performance cost.
+
+
+## Version
+
+The [version of the QR symbol](./Terminology.md#version) is one of the major performance factors as it
+determines the size of the symbol and therefore the amount of data that can be stored. Iterating over the internal
+representation of the matrix takes more time with increasing size and the internals iterate over the matrix a LOT.
+
+Because of that you want of course to select the smallest possible version for the given data, which the encoder does by default.
+However, sometimes the possibly varying size of the symbol may not be desired and you want to choose a fixed size, in which case
+you should determine the maximum size of the input data and choose a version that fits.
+
+
+## Ecc level
+
+Another factor is the [ECC level](./Terminology.md#ecc-error-correction-coding) that determines the error correction capacity. The default setting is the lowest capacity (L, 7%)
+which allows the highest amount of data to be stored and which is good enough for e.g. on-screen display or poster prints.
+ECC level H on the other hand allows for up to 30% error correction capacity, which is great for "high risk" applications such as prints on mail.
+With increasing error correction capacity, the maximum amount of data a symbol can hold decreases, and a higher version number may be necessary.
+
+
+## Data mode
+
+By default, the encoder auto-detects the best [mode for data encoding](Terminology.md#mode) (numeric, alphanumeric, kanji, hanzi or 8-bit binary)
+and depending on the length of the given data, the detection costs an increasing amount of time. To circumvent this,
+you can call one of the "add segment" methods on the `QRCode` instance, for example: `$qrcode->addByteSegment($data)`.
+
+Generally, using 8-bit binary mode (or just "byte mode") is the fast and fail-safe mode for any kind of data, and with
+[ECI](https://en.wikipedia.org/wiki/Extended_Channel_Interpretation) it even offers support for character sets other than UTF-8.
+So, unless you want to fit a large amount of japanese or chinese characters into a QR symbol of a certain version,
+encoding those characters as 3 or 4 byte UTF-8 may still be faster in 8-bit byte than in the "compressed" 13-bit double byte modes.
+
+
+## Mask pattern
+
+[Evaluating the QR symbol](./Terminology.md#data-masking) in order to pick the right [mask pattern](./Terminology.md#mask-pattern)
+is a complex and costly operation that is necessary to ensure the symbol is readable. Although [there is an option](../Usage/Configuration-settings.md#maskpattern)
+to override the evaluation and manually set a mask pattern, this is not recommended unless you know exactly what you're doing
+as it can render a QR symbol unreadable.
+
+The table below shows the performance impact (in miliseconds) of the mask pattern evaluation for each version, the times may vary between systems.
+
+| version   |       1 |       2 |       3 |       4 |       5 |       6 |       7 |       8 |       9 |      10 |
+|-----------|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|
+| **1-10**  |   4.414 |   5.697 |   7.986 |   9.221 |  10.877 |  11.293 |  13.901 |  15.563 |  18.142 |  20.501 |
+| **11-20** |  22.662 |  27.779 |  29.622 |  33.017 |  36.358 |  39.712 |  43.685 |  47.121 |  51.389 |  57.865 |
+| **21-30** |  59.753 |  68.502 |  68.523 |  72.866 |  78.245 |  83.593 |  88.327 |  94.921 | 103.394 | 106.358 |
+| **31-40** | 113.311 | 120.484 | 126.215 | 132.931 | 139.783 | 145.617 | 170.576 | 165.996 | 167.365 | 175.821 |
+
+
+## Output
+
+Output rendering depends heavily on the size of the QR matrix, the desired type and the underlying libraries and/or PHP extensions.
+Especially the rendering of raster images through GD or ImagMagick can be very slow, depending on [the scale setting](../Usage/Configuration-settings.md#scale),
+filters and image type.
+
+Below a comparison of the performance for the several built-in output classes (times in miliseconds, scale = 5):
+
+|                   |     v5 |    v10 |     v15 |     v20 |     v25 |     v30 |     v35 |     v40 |
+|-------------------|-------:|-------:|--------:|--------:|--------:|--------:|--------:|--------:|
+| **QRMarkupSVG**   |  3.732 |  8.645 |  13.846 |  21.127 |  32.842 |  43.753 |  56.584 |  73.885 |
+| **QRMarkupHTML**  |  0.522 |  1.308 |   2.062 |   2.761 |   3.907 |   5.201 |   7.931 |   9.572 |
+| **QRGdImageBMP**  |  5.998 | 12.541 |  20.728 |  32.336 |  46.345 |  62.842 |  81.555 | 106.482 |
+| **QRGdImageGIF**  |  3.427 |  6.817 |  12.226 |  17.925 |  25.453 |  35.136 |  44.706 |  57.477 |
+| **QRGdImageJPEG** |  2.284 |  4.882 |   8.161 |  12.097 |  17.333 |  23.862 |  30.327 |  40.226 |
+| **QRGdImagePNG**  |  4.523 |  9.377 |  16.581 |  26.207 |  36.516 |  49.066 |  63.765 |  82.074 |
+| **QRGdImageWEBP** |  8.211 | 17.367 |  30.079 |  47.095 |  69.668 |  91.378 | 119.869 | 150.288 |
+| **QRStringJSON**  |  0.043 |  0.066 |   0.107 |   0.158 |   0.215 |   0.301 |   0.369 |   0.492 |
+| **QRStringText**  |  0.229 |  0.387 |   0.628 |   0.952 |   1.312 |   1.759 |   2.329 |   3.045 |
+| **QRImagick**     | 37.694 | 68.808 | 114.415 | 172.962 | 242.338 | 325.085 | 419.999 | 529.897 |
+| **QRFpdf**        |  6.578 | 12.466 |  21.169 |  33.021 |  45.469 |  61.198 |  80.092 | 100.059 |
+| **QREps**         |  1.269 |  2.694 |   4.515 |   6.933 |  11.049 |  14.181 |  20.799 |  25.886 |

+ 4 - 4
_sources/Appendix/Terminology.md.txt

@@ -20,15 +20,15 @@ the module is located, with counting commencing at 0. Module `(0, 0)` is therefo
 
 
 ### Module
 ### Module
 
 
-A *module* represents a single square "pixel" (not to confuse with pixels in a raster image or screen) in the matrix.
-A dark module is a binary one and a light module is a binary zero.
+A *module* represents a single square "pixel" in the matrix (not to confuse with pixels in a raster image or screen).
+A dark module represents a binary one and a light module represents a binary zero.
 
 
 
 
 ### Version
 ### Version
 
 
 The *version* of a QR symbol determines the side length of the matrix (and therefore the maximum capacity of code words),
 The *version* of a QR symbol determines the side length of the matrix (and therefore the maximum capacity of code words),
-ranging from 21×21 modules at version 1 to 177×177 modules at version 40; the module count increases in steps of 4 and can
-be calculated by `4 * version + 17`.
+ranging from 21×21 modules (441 total) at version 1 to 177×177 modules (31329 total) at version 40.
+The module count increases in steps of 4 and can be calculated by `4 * version + 17`.
 
 
 The maximum capacity for each version, mode and ECC level can be found in [this table (qrcode.com)](https://www.qrcode.com/en/about/version.html).
 The maximum capacity for each version, mode and ECC level can be found in [this table (qrcode.com)](https://www.qrcode.com/en/about/version.html).
 
 

+ 0 - 2
_sources/Built-In-Output/QRImagick.md.txt

@@ -96,8 +96,6 @@ echo $imagick->getImageBlob();
 | `$imageTransparent`    | `bool`   |
 | `$imageTransparent`    | `bool`   |
 | `$imagickFormat`       | `string` |
 | `$imagickFormat`       | `string` |
 | `$keepAsSquare`        | `array`  |
 | `$keepAsSquare`        | `array`  |
-| `$markupDark`          | `string` |
-| `$markupLight`         | `string` |
 | `$outputBase64`        | `bool`   |
 | `$outputBase64`        | `bool`   |
 | `$quality`             | `int`    |
 | `$quality`             | `int`    |
 | `$returnResource`      | `bool`   |
 | `$returnResource`      | `bool`   |

+ 0 - 5
_sources/Built-In-Output/QRMarkupHTML.md.txt

@@ -17,9 +17,6 @@ $options = new QROptions;
 
 
 $options->outputType   = QROutputInterface::MARKUP_HTML;
 $options->outputType   = QROutputInterface::MARKUP_HTML;
 $options->cssClass     = 'qrcode';
 $options->cssClass     = 'qrcode';
-// default values for unassigned module types
-$options->markupDark   = '#555';
-$options->markupLight  = '#CCC';
 $options->moduleValues = [
 $options->moduleValues = [
 	// finder
 	// finder
 	QRMatrix::M_FINDER_DARK    => '#A71111', // dark (true)
 	QRMatrix::M_FINDER_DARK    => '#A71111', // dark (true)
@@ -88,8 +85,6 @@ header('Content-type: text/html');
 |----------------|----------|
 |----------------|----------|
 | `$cssClass`    | `string` |
 | `$cssClass`    | `string` |
 | `$eol`         | `string` |
 | `$eol`         | `string` |
-| `$markupDark`  | `string` |
-| `$markupLight` | `string` |
 
 
 
 
 ### Options that have no effect
 ### Options that have no effect

+ 25 - 28
_sources/Built-In-Output/QRMarkupSVG.md.txt

@@ -11,21 +11,19 @@ Set the options:
 ```php
 ```php
 $options = new QROptions;
 $options = new QROptions;
 
 
-$options->version             = 7;
-$options->outputType          = QROutputInterface::MARKUP_SVG;
+$options->version              = 7;
+$options->outputType           = QROutputInterface::MARKUP_SVG;
 // if set to false, the light modules won't be rendered
 // if set to false, the light modules won't be rendered
-$options->drawLightModules    = true;
-// empty the default value to remove the fill* and opacity* attributes from the <path> elements
-$options->markupDark          = '';
-$options->markupLight         = '';
+$options->drawLightModules     = true;
+$options->svgUseFillAttributes = true;
 // draw the modules as circles isntead of squares
 // draw the modules as circles isntead of squares
-$options->drawCircularModules = true;
-$options->circleRadius        = 0.4;
+$options->drawCircularModules  = true;
+$options->circleRadius         = 0.4;
 // connect paths to avoid render glitches
 // connect paths to avoid render glitches
 // @see https://github.com/chillerlan/php-qrcode/issues/57
 // @see https://github.com/chillerlan/php-qrcode/issues/57
-$options->connectPaths        = true;
+$options->connectPaths         = true;
 // keep modules of these types as square
 // keep modules of these types as square
-$options->keepAsSquare        = [
+$options->keepAsSquare         = [
 	QRMatrix::M_FINDER_DARK,
 	QRMatrix::M_FINDER_DARK,
 	QRMatrix::M_FINDER_DOT,
 	QRMatrix::M_FINDER_DOT,
 	QRMatrix::M_ALIGNMENT_DARK,
 	QRMatrix::M_ALIGNMENT_DARK,
@@ -72,24 +70,23 @@ printf('<img alt="%s" src="%s" />', $alt, $out);
 
 
 ## Options that affect this module
 ## Options that affect this module
 
 
-| property                  | type           |
-|---------------------------|----------------|
-| `$circleRadius`           | `float`        |
-| `$connectPaths`           | `bool`         |
-| `$cssClass`               | `string`       |
-| `$drawCircularModules`    | `bool`         |
-| `$drawLightModules`       | `bool`         |
-| `$eol`                    | `string`       |
-| `$excludeFromConnect`     | `array`        |
-| `$keepAsSquare`           | `array`        |
-| `$markupDark`             | `string`       |
-| `$markupLight`            | `string`       |
-| `$outputBase64`           | `bool`         |
-| `$svgAddXmlHeader`        | `bool`         |
-| `$svgDefs`                | `string`       |
-| `$svgOpacity`             | `float`        |
-| `$svgPreserveAspectRatio` | `string`       |
-| `$svgViewBoxSize`         | `int\|null`    |
+| property                  | type        |
+|---------------------------|-------------|
+| `$circleRadius`           | `float`     |
+| `$connectPaths`           | `bool`      |
+| `$cssClass`               | `string`    |
+| `$drawCircularModules`    | `bool`      |
+| `$drawLightModules`       | `bool`      |
+| `$eol`                    | `string`    |
+| `$excludeFromConnect`     | `array`     |
+| `$keepAsSquare`           | `array`     |
+| `$outputBase64`           | `bool`      |
+| `$svgAddXmlHeader`        | `bool`      |
+| `$svgDefs`                | `string`    |
+| `$svgOpacity`             | `float`     |
+| `$svgPreserveAspectRatio` | `string`    |
+| `$svgViewBoxSize`         | `int\|null` |
+| `$svgUseFillAttributes`   | `bool`      |
 
 
 
 
 ### Options that have no effect
 ### Options that have no effect

+ 2 - 2
_sources/Customizing/QROutputAbstract.md.txt

@@ -26,8 +26,8 @@ The finalized map of `$M_TYPE` to value for the current output. This map is gene
 ### Copies of `QROptions` values
 ### Copies of `QROptions` values
 
 
 Some values from the `QROptions` instance are copied to properties to avoid calling the magic getters in long loops for a significant performance increase, e.g. in the module collector.
 Some values from the `QROptions` instance are copied to properties to avoid calling the magic getters in long loops for a significant performance increase, e.g. in the module collector.
-Currently, the following values are copied via `copyVars()` during invocation:
-`$connectPaths`, `$excludeFromConnect`, `$eol`, `$drawLightModules`, `$drawCircularModules`, `$keepAsSquare`, `$circleRadius`.
+Currently, the following values are copied via `copyVars()` during invocation: `$connectPaths`, `$excludeFromConnect`, `$eol`,
+`$drawLightModules`, `$drawCircularModules`, `$keepAsSquare`, `$circleRadius` (and additionally `$circleDiameter`).
 
 
 
 
 ## Methods
 ## Methods

+ 110 - 0
_sources/Usage/Configuration-settings.md.txt

@@ -6,6 +6,7 @@ QR Code version number
 
 
 `1 ... 40` or `Version::AUTO` (default)
 `1 ... 40` or `Version::AUTO` (default)
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Common\Version`
 - `\chillerlan\QRCode\Common\Version`
@@ -36,6 +37,7 @@ Error correct level
 - `Q` => 25%
 - `Q` => 25%
 - `H` => 30%
 - `H` => 30%
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Common\EccLevel`
 - `\chillerlan\QRCode\Common\EccLevel`
@@ -48,6 +50,7 @@ Mask Pattern to use (no value in using, mostly for unit testing purposes)
 
 
 `0 ... 7` or `MaskPattern::PATTERN_AUTO` (default)
 `0 ... 7` or `MaskPattern::PATTERN_AUTO` (default)
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Common\MaskPattern`
 - `\chillerlan\QRCode\Common\MaskPattern`
@@ -57,6 +60,7 @@ Mask Pattern to use (no value in using, mostly for unit testing purposes)
 
 
 Add a "quiet zone" (margin) according to the QR code spec
 Add a "quiet zone" (margin) according to the QR code spec
 
 
+
 **See also:**
 **See also:**
 
 
 - [www.qrcode.com/en/howto/code.html](https://www.qrcode.com/en/howto/code.html)
 - [www.qrcode.com/en/howto/code.html](https://www.qrcode.com/en/howto/code.html)
@@ -69,6 +73,49 @@ Size of the quiet zone
 internally clamped to `0 ... $moduleCount / 2` (default: 4)
 internally clamped to `0 ... $moduleCount / 2` (default: 4)
 
 
 
 
+## outputType
+
+The built-in output type
+
+- `QROutputInterface::MARKUP_SVG` (default)
+- `QROutputInterface::MARKUP_HTML`
+- `QROutputInterface::GDIMAGE_BMP`
+- `QROutputInterface::GDIMAGE_GIF`
+- `QROutputInterface::GDIMAGE_JPG`
+- `QROutputInterface::GDIMAGE_PNG`
+- `QROutputInterface::GDIMAGE_WEBP`
+- `QROutputInterface::STRING_TEXT`
+- `QROutputInterface::STRING_JSON`
+- `QROutputInterface::IMAGICK`
+- `QROutputInterface::EPS`
+- `QROutputInterface::FPDF`
+- `QROutputInterface::CUSTOM`
+
+
+**Deprecated:** 5.0.0 see issue #223
+
+**See also:**
+
+- `\chillerlan\QRCode\Output\QREps`
+- `\chillerlan\QRCode\Output\QRFpdf`
+- `\chillerlan\QRCode\Output\QRGdImage`
+- `\chillerlan\QRCode\Output\QRImagick`
+- `\chillerlan\QRCode\Output\QRMarkupHTML`
+- `\chillerlan\QRCode\Output\QRMarkupSVG`
+- `\chillerlan\QRCode\Output\QRString`
+- [github.com/chillerlan/php-qrcode/issues/223](https://github.com/chillerlan/php-qrcode/issues/223)
+
+
+## outputInterface
+
+The FQCN of the custom `QROutputInterface`
+
+if `QROptions::$outputType` is set to `QROutputInterface::CUSTOM` (default: `null`)
+
+**Deprecated:** 5.0.0 the nullable type will be removed in future versions
+and the default value will be set to `QRMarkupSVG::class`
+
+
 ## returnResource
 ## returnResource
 
 
 Return the image resource instead of a render if applicable.
 Return the image resource instead of a render if applicable.
@@ -80,6 +127,7 @@ Return the image resource instead of a render if applicable.
 This option overrides/ignores other output settings, such as `QROptions::$cachefile`
 This option overrides/ignores other output settings, such as `QROptions::$cachefile`
 and `QROptions::$outputBase64`. (default: `false`)
 and `QROptions::$outputBase64`. (default: `false`)
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Output\QROutputInterface::dump()`
 - `\chillerlan\QRCode\Output\QROutputInterface::dump()`
@@ -92,6 +140,7 @@ Optional cache file path `/path/to/cache.file`
 Please note that the `$file` parameter in `QRCode::render()` and `QRCode::renderMatrix()`
 Please note that the `$file` parameter in `QRCode::render()` and `QRCode::renderMatrix()`
 takes precedence over the `QROptions::$cachefile` value. (default: `null`)
 takes precedence over the `QROptions::$cachefile` value. (default: `null`)
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\QRCode::render()`
 - `\chillerlan\QRCode\QRCode::render()`
@@ -104,6 +153,7 @@ Toggle base64 data URI or raw data output (if applicable)
 
 
 (default: `true`)
 (default: `true`)
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Output\QROutputAbstract::toBase64DataURI()`
 - `\chillerlan\QRCode\Output\QROutputAbstract::toBase64DataURI()`
@@ -132,6 +182,7 @@ Whether to invert the matrix (reflectance reversal)
 
 
 (default: `false`)
 (default: `false`)
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Data\QRMatrix::invert()`
 - `\chillerlan\QRCode\Data\QRMatrix::invert()`
@@ -155,6 +206,7 @@ using `imagefilledellipse()` and then scaled back to the expected size
 
 
 No effect in: `QREps`, `QRFpdf`, `QRMarkupHTML`
 No effect in: `QREps`, `QRFpdf`, `QRMarkupHTML`
 
 
+
 **See also:**
 **See also:**
 
 
 - [php.net: `\imagefilledellipse()`](https://www.php.net/manual/function.imagefilledellipse)
 - [php.net: `\imagefilledellipse()`](https://www.php.net/manual/function.imagefilledellipse)
@@ -180,6 +232,7 @@ Specifies which module types to exclude when `QROptions::$drawCircularModules` i
 
 
 Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
 Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
 
 
+
 **See also:**
 **See also:**
 
 
 - [github.com/chillerlan/php-qrcode/issues/57](https://github.com/chillerlan/php-qrcode/issues/57)
 - [github.com/chillerlan/php-qrcode/issues/57](https://github.com/chillerlan/php-qrcode/issues/57)
@@ -198,6 +251,7 @@ Module values map
 - `QREps`, `QRFpdf`, `QRGdImage`: `[R, G, B]` // 0-255
 - `QREps`, `QRFpdf`, `QRGdImage`: `[R, G, B]` // 0-255
 - `QREps`: `[C, M, Y, K]` // 0-255
 - `QREps`: `[C, M, Y, K]` // 0-255
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Output\QROutputAbstract::setModuleValues()`
 - `\chillerlan\QRCode\Output\QROutputAbstract::setModuleValues()`
@@ -207,6 +261,7 @@ Module values map
 
 
 Toggles logo space creation
 Toggles logo space creation
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\QRCode::addMatrixModifications()`
 - `\chillerlan\QRCode\QRCode::addMatrixModifications()`
@@ -248,6 +303,7 @@ Toggle transparency
 
 
 - `QRGdImage` and `QRImagick`: the given `QROptions::$transparencyColor` is set as transparent
 - `QRGdImage` and `QRImagick`: the given `QROptions::$transparencyColor` is set as transparent
 
 
+
 **See also:**
 **See also:**
 
 
 - [github.com/chillerlan/php-qrcode/discussions/121](https://github.com/chillerlan/php-qrcode/discussions/121)
 - [github.com/chillerlan/php-qrcode/discussions/121](https://github.com/chillerlan/php-qrcode/discussions/121)
@@ -263,6 +319,7 @@ Defaults to `QROptions::$bgColor`.
 - `QRImagick`: `"color_str"`, this color is set in `Imagick::transparentPaintImage()`
 - `QRImagick`: `"color_str"`, this color is set in `Imagick::transparentPaintImage()`
 
 
 
 
+
 **See also:**
 **See also:**
 
 
 - [php.net: `\imagecolortransparent()`](https://www.php.net/manual/function.imagecolortransparent)
 - [php.net: `\imagecolortransparent()`](https://www.php.net/manual/function.imagecolortransparent)
@@ -281,6 +338,7 @@ The given value depends on the used output type:
 - `QRGdImagePNG`:  `[0...100]`
 - `QRGdImagePNG`:  `[0...100]`
 - `QRImagick`:     `[0...100]`
 - `QRImagick`:     `[0...100]`
 
 
+
 **See also:**
 **See also:**
 
 
 - [php.net: `\imagebmp()`](https://www.php.net/manual/function.imagebmp)
 - [php.net: `\imagebmp()`](https://www.php.net/manual/function.imagebmp)
@@ -295,6 +353,7 @@ The given value depends on the used output type:
 Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` is set to `true` and
 Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` is set to `true` and
 `QROptions::$scale` is less than 20
 `QROptions::$scale` is less than 20
 
 
+
 **See also:**
 **See also:**
 
 
 - `\chillerlan\QRCode\Output\QRGdImage::createImage()`
 - `\chillerlan\QRCode\Output\QRGdImage::createImage()`
@@ -305,6 +364,7 @@ Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` i
 
 
 Imagick output format
 Imagick output format
 
 
+
 **See also:**
 **See also:**
 
 
 - [php.net: `\Imagick::setImageFormat()`](https://www.php.net/manual/imagick.setimageformat)
 - [php.net: `\Imagick::setImageFormat()`](https://www.php.net/manual/imagick.setimageformat)
@@ -327,6 +387,7 @@ Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML
 
 
 Anything in the SVG `<defs>` tag
 Anything in the SVG `<defs>` tag
 
 
+
 **See also:**
 **See also:**
 
 
 - [developer.mozilla.org/en-US/docs/Web/SVG/Element/defs](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs)
 - [developer.mozilla.org/en-US/docs/Web/SVG/Element/defs](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs)
@@ -336,6 +397,7 @@ Anything in the SVG `<defs>` tag
 
 
 Sets the value for the "preserveAspectRatio" on the `<svg>` element
 Sets the value for the "preserveAspectRatio" on the `<svg>` element
 
 
+
 **See also:**
 **See also:**
 
 
 - [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio)
 - [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio)
@@ -348,6 +410,7 @@ Whether to use the SVG `fill` attributes
 If set to `true` (default), the `fill` attribute will be set with the module value for the `<path>` element's `$M_TYPE`.
 If set to `true` (default), the `fill` attribute will be set with the module value for the `<path>` element's `$M_TYPE`.
 When set to `false`, the module values map will be ignored and the QR Code may be styled via CSS.
 When set to `false`, the module values map will be ignored and the QR Code may be styled via CSS.
 
 
+
 **See also:**
 **See also:**
 
 
 - [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill)
 - [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill)
@@ -362,6 +425,7 @@ An optional line prefix, e.g. empty space to align the QR Code in a console
 
 
 Sets the flags to use for the `json_encode()` call
 Sets the flags to use for the `json_encode()` call
 
 
+
 **See also:**
 **See also:**
 
 
 - [www.php.net/manual/json.constants.php](https://www.php.net/manual/json.constants.php)
 - [www.php.net/manual/json.constants.php](https://www.php.net/manual/json.constants.php)
@@ -376,6 +440,7 @@ Whether to return matrix values in JSON as booleans or `$M_TYPE` integers
 
 
 Measurement unit for `FPDF` output: `pt`, `mm`, `cm`, `in` (default: `pt`)
 Measurement unit for `FPDF` output: `pt`, `mm`, `cm`, `in` (default: `pt`)
 
 
+
 **See also:**
 **See also:**
 
 
 - `FPDF::__construct()`
 - `FPDF::__construct()`
@@ -402,3 +467,48 @@ Increase the contrast before reading
 
 
 note that applying contrast works different in GD and Imagick, so mileage may vary
 note that applying contrast works different in GD and Imagick, so mileage may vary
 
 
+
+## imageBase64
+
+**Deprecated:** 5.0.0 use QROptions::$outputBase64 instead
+
+**See also:**
+
+- `       \chillerlan\QRCode\QROptions::$outputBase64`
+
+
+## jpegQuality
+
+**Deprecated:** 5.0.0 use QROptions::$quality instead
+
+**See also:**
+
+- `       \chillerlan\QRCode\QROptions::$quality`
+
+
+## pngCompression
+
+**Deprecated:** 5.0.0 use QROptions::$quality instead
+
+**See also:**
+
+- `       \chillerlan\QRCode\QROptions::$quality`
+
+
+## imageTransparencyBG
+
+**Deprecated:** 5.0.0 use QROptions::$transparencyColor instead
+
+**See also:**
+
+- `       \chillerlan\QRCode\QROptions::$transparencyColor`
+
+
+## imagickBG
+
+**Deprecated:** 5.0.0 use QROptions::$bgColor instead
+
+**See also:**
+
+- `       \chillerlan\QRCode\QROptions::$bgColor`
+

+ 2 - 1
_sources/index.rst.txt

@@ -45,8 +45,9 @@ This work is licensed under the Creative Commons Attribution 4.0 International (
    :maxdepth: 3
    :maxdepth: 3
    :caption: Appendix
    :caption: Appendix
 
 
-   Appendix/Contribute.md
    Appendix/Terminology.md
    Appendix/Terminology.md
    Appendix/URI-Content.md
    Appendix/URI-Content.md
+   Appendix/Performance-considerations.md
+   Appendix/Contribute.md
    Appendix/License.md
    Appendix/License.md
 
 

+ 22 - 7
genindex.html

@@ -106,6 +106,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -143,6 +145,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -250,13 +257,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -310,6 +310,21 @@
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

+ 45 - 15
index.html

@@ -108,6 +108,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -145,6 +147,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -252,13 +259,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -312,6 +312,21 @@
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 
@@ -341,7 +356,7 @@
              
              
   <section id="php-qrcode-manual">
   <section id="php-qrcode-manual">
 <h1>PHP-QRCode Manual<a class="headerlink" href="#php-qrcode-manual" title="Link to this heading"></a></h1>
 <h1>PHP-QRCode Manual<a class="headerlink" href="#php-qrcode-manual" title="Link to this heading"></a></h1>
-<p>User manual for <a class="reference external" href="https://github.com/chillerlan/php-qrcode/">chillerlan/php-qrcode</a>  [main]. Updated on Oct 26, 2023.</p>
+<p>User manual for <a class="reference external" href="https://github.com/chillerlan/php-qrcode/">chillerlan/php-qrcode</a>  [main]. Updated on Oct 27, 2023.</p>
 <p>The phpDocumentor API documentation can be found at <a class="reference external" href="https://chillerlan.github.io/php-qrcode/">chillerlan.github.io/php-qrcode</a>.</p>
 <p>The phpDocumentor API documentation can be found at <a class="reference external" href="https://chillerlan.github.io/php-qrcode/">chillerlan.github.io/php-qrcode</a>.</p>
 <p>This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.</p>
 <p>This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.</p>
 <div class="toctree-wrapper compound">
 <div class="toctree-wrapper compound">
@@ -408,6 +423,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -445,6 +462,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -558,13 +580,6 @@
 <div class="toctree-wrapper compound">
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -618,6 +633,21 @@
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 </ul>
 </ul>
 </div>
 </div>

TEMPAT SAMPAH
objects.inv


+ 22 - 7
search.html

@@ -109,6 +109,8 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputtype">outputType</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#returnresource">returnResource</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#cachefile">cachefile</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
@@ -146,6 +148,11 @@
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagebase64">imageBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#jpegquality">jpegQuality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#pngcompression">pngCompression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagetransparencybg">imageTransparencyBG</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Usage/Configuration-settings.html#imagickbg">imagickBG</a></li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -253,13 +260,6 @@
 </ul>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
 <ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
-</ul>
-</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/Terminology.html">Terminology</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#qr-code">QR Code</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/Terminology.html#matrix">Matrix</a><ul>
@@ -313,6 +313,21 @@
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Appendix/URI-Content.html#see-also">See also</a></li>
 </ul>
 </ul>
 </li>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Appendix/License.html">License</a></li>
 </ul>
 </ul>
 
 

File diff ditekan karena terlalu besar
+ 0 - 0
searchindex.js


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini