Просмотр исходного кода

Deploying to gh-pages from @ chillerlan/php-qrcode@5e9cf0047ecfd2f891c56f7f7524dd3f9d66d4a8 🚀

codemasher 4 лет назад
Родитель
Сommit
2dd45ec2c8
100 измененных файлов с 1068 добавлено и 295 удалено
  1. 4 4
      classes/chillerlan-QRCode-Decoder-Binarizer.html
  2. 2 2
      classes/chillerlan-QRCode-Decoder-Decoder.html
  3. 268 37
      classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html
  4. 264 33
      classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html
  5. 159 40
      classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html
  6. 141 146
      classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html
  7. 230 33
      classes/chillerlan-QRCode-QRCode.html
  8. BIN
      descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ
  9. BIN
      descriptors/-/F/jRgdyBLyXKT+BGk4NfTw
  10. BIN
      descriptors/-/L/ek58PIvBzTeodS5wVNSA
  11. BIN
      descriptors/-/O/p5-gmoh5hPLmm04gN4pQ
  12. BIN
      descriptors/0/8/K5Nh3Keev5uTA1xbHsFg
  13. BIN
      descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ
  14. BIN
      descriptors/0/N/GpaeNybzoU59gW6UhBnQ
  15. BIN
      descriptors/1/C/HhgHbACpp2-v5vnsHqoQ
  16. BIN
      descriptors/1/W/3ebKU0GB6zhMUdVP1b+A
  17. BIN
      descriptors/1/W/oHvshtXLek5m48kI4qYQ
  18. BIN
      descriptors/3/J/jEZ9kqVO837kAN9GcqQQ
  19. BIN
      descriptors/3/O/NJboKaggdJkamainZjsA
  20. BIN
      descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA
  21. BIN
      descriptors/5/S/JYW4u1Ss7g87mvPurwuQ
  22. BIN
      descriptors/6/1/lB29Unf+MGop8ZfQpbxw
  23. BIN
      descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg
  24. BIN
      descriptors/8/B/YUUawcRPu8iqa0H4uRzA
  25. BIN
      descriptors/8/T/vc7T6bnZ3UycLojYYsbQ
  26. BIN
      descriptors/9/B/6kSlrBrO9emyiQCjpXKg
  27. BIN
      descriptors/A/H/DD90x3SluOjSxkcV88ZA
  28. BIN
      descriptors/A/N/Ljow2YPBWWbEcemFbdJg
  29. BIN
      descriptors/B/1/aTEUuEOOiQctQ60relWw
  30. BIN
      descriptors/B/E/r1vpxcSDgXhLhmvapg0g
  31. BIN
      descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w
  32. BIN
      descriptors/D/F/DOG571bO-z1teWt5gCnA
  33. BIN
      descriptors/D/Y/k68AX6bKDcYhVlpLdDsA
  34. BIN
      descriptors/F/9/pXbPL7Yb0FBQxCQ3gJFw
  35. BIN
      descriptors/F/B/LksworQTmdGDsbuGgK3w
  36. BIN
      descriptors/F/G/P3ebg7d0jPAOIUL6beNQ
  37. BIN
      descriptors/F/V/02epmiUkatFxWCEUNOZQ
  38. BIN
      descriptors/F/W/W0teNcVy9jqdc46pQatg
  39. BIN
      descriptors/G/V/fdJGuZf5fNFLqtugqT-w
  40. BIN
      descriptors/G/Z/oRUELJnE8E9xjfb7zVYw
  41. BIN
      descriptors/H/K/L8qxzlGe3nApAEb0XDmw
  42. BIN
      descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ
  43. BIN
      descriptors/M/-/WxZaFDk-ceeWbfrdktlw
  44. BIN
      descriptors/M/D/7RuPc8ZLXiYUOULAXMHA
  45. BIN
      descriptors/M/E/Nh3ZTPCAW0NKAreDA58A
  46. BIN
      descriptors/M/H/UP+q5Whq-hBCfNUVgmmA
  47. BIN
      descriptors/M/T/A9D8WO4csoTT6-PUOhyQ
  48. BIN
      descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw
  49. BIN
      descriptors/N/K/1wJmCAkdhUBMG4W9U26Q
  50. BIN
      descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ
  51. BIN
      descriptors/O/-/Qj50sQunXyprLIPjDWuw
  52. BIN
      descriptors/O/9/TxGIyEkOt8LOdakmWGng
  53. BIN
      descriptors/O/C/QrLkTA4pksM1hZjh2fmQ
  54. BIN
      descriptors/O/P/hsy4XuaUYG7s+p327kdw
  55. BIN
      descriptors/P/F/CRQ81A3lfcHvSs9jQKkw
  56. BIN
      descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ
  57. BIN
      descriptors/Q/P/B+J2GJLfQ0IakPB13vHw
  58. BIN
      descriptors/R/J/XynComHevEUzJVBqwqBw
  59. BIN
      descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ
  60. BIN
      descriptors/S/5/GDvbx5K37txRsFozM6Dw
  61. BIN
      descriptors/S/O/uB88R0MDvju5O8vP9R2g
  62. BIN
      descriptors/S/W/ZcfDRvjA4bYLypDlydtA
  63. BIN
      descriptors/T/A/1kul5pbTKtAcB726dqtg
  64. BIN
      descriptors/T/U/tCn8347JaERiSFirOQkQ
  65. BIN
      descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig
  66. BIN
      descriptors/U/M/GOkWye9ioWEVXJE38j3A
  67. BIN
      descriptors/U/T/sy7Fttx0RT+dXnidigIg
  68. BIN
      descriptors/V/D/k1Sxb8RF0516043ylCfA
  69. BIN
      descriptors/W/Q/m3aGIB9X9Kkao7uhrHww
  70. BIN
      descriptors/W/V/grsubfc-REqTpvf8epEg
  71. BIN
      descriptors/X/K/dIL95Dr61miaEd3wrNUQ
  72. BIN
      descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ
  73. BIN
      descriptors/X/P/6FuSnMkagyPUTmQNikpA
  74. BIN
      descriptors/Y/H/ePCrZ0GYbMW9q694m-BA
  75. BIN
      descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA
  76. BIN
      descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg
  77. BIN
      descriptors/Z/S/8L-Pmb4m7UdhV0PqP7UQ
  78. BIN
      descriptors/Z/T/SVOJOBr-M5MAP66POlfw
  79. BIN
      descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg
  80. BIN
      files/+/I/rhtfcb95qAfD5xkfQCDA
  81. BIN
      files/+/N/y54xmo0PmdJtDqeNyxHQ
  82. BIN
      files/-/1/gQz+0kCp2S+uOb4pDOaQ
  83. BIN
      files/-/U/qKZm-O0KQVYg2VuJe6oQ
  84. BIN
      files/1/C/q-OflqQFrr9UulwLTi+Q
  85. BIN
      files/1/R/O1xSeGjW+Xx0yzVfGMTQ
  86. BIN
      files/2/S/4quEniu1dLV7N8JAjUTg
  87. BIN
      files/3/N/+vk-Wi5Xtah1rRjh6KpA
  88. BIN
      files/5/7/f+GFbcWFY5vvo7Aq+-tg
  89. BIN
      files/5/E/vOzu1oC-ybZhWZp+ImsQ
  90. BIN
      files/5/U/7L3kE0FAIDgTsLA2t-lw
  91. BIN
      files/5/Y/HfY1YKVYdpLXueUOscKw
  92. BIN
      files/6/M/62Me9EsE+cZRSiUFxExA
  93. BIN
      files/8/-/HQ6urJwEFK5+A86IqDTA
  94. BIN
      files/8/I/xRvoDElsAUZ5v5+jQ4tw
  95. BIN
      files/9/6/IdScmpJoa63BTJGxdjVA
  96. BIN
      files/9/Z/S5ry-ENYMJQTMpn84imA
  97. BIN
      files/B/D/NWMpTfrWm-oR1UTStdXQ
  98. BIN
      files/B/E/BDfo-s0c+wrrgSJ5gKIw
  99. BIN
      files/B/M/TkoDX8XEbIN0tFNkdE8w
  100. BIN
      files/C/0/Jt0-SebIbIIkDfOIIVfA

+ 4 - 4
classes/chillerlan-QRCode-Decoder-Binarizer.html

@@ -209,7 +209,7 @@ but for now it was not a win to use local blocks for 1D.</p>
                 <dt class="phpdocumentor-table-of-contents__entry -property -private">
     <a href="classes/chillerlan-QRCode-Decoder-Binarizer.html#property_source">$source</a>
     <span>
-                &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a>            </span>
+                &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a>            </span>
 </dt>
 <dd></dd>
 
@@ -510,7 +510,7 @@ on the last pixels in the row/column which are also used in the previous block).
     
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">private</span>
-        <span class="phpdocumentor-signature__type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a></span>
+        <span class="phpdocumentor-signature__type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a></span>
     <span class="phpdocumentor-signature__name">$source</span>
     </code>
 
@@ -548,14 +548,14 @@ on the last pixels in the row/column which are also used in the previous block).
     
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">public</span>
-                <span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$source</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
+                <span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$source</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
 
     
         <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
     <dl class="phpdocumentor-argument-list">
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$source</span>
-                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a></span>
+                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a></span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
                     <section class="phpdocumentor-description"></section>

+ 2 - 2
classes/chillerlan-QRCode-Decoder-Decoder.html

@@ -217,7 +217,7 @@ correct the errors in-place using Reed-Solomon error correction.&lt;/p&gt;</dd>
 
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">public</span>
-                <span class="phpdocumentor-signature__name">decode</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$source</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+                <span class="phpdocumentor-signature__name">decode</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$source</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
 
         <section class="phpdocumentor-description"><p>A 1 or &quot;true&quot; is taken to mean a black module.</p></p>
 </section>
@@ -226,7 +226,7 @@ correct the errors in-place using Reed-Solomon error correction.&lt;/p&gt;</dd>
     <dl class="phpdocumentor-argument-list">
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$source</span>
-                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a></span>
+                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a></span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
                 

+ 268 - 37
classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html

@@ -98,7 +98,7 @@
     GDLuminanceSource
 
         <span class="phpdocumentor-element__extends">
-        extends <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a>
+        extends <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceAbstract">LuminanceSourceAbstract</abbr></a>
     </span>
     
             <div class="phpdocumentor-element__package">
@@ -114,7 +114,7 @@
         <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/GDLuminanceSource.php"><a href="files/src-decoder-gdluminancesource.html"><abbr title="src/Decoder/GDLuminanceSource.php">GDLuminanceSource.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">24</span>
+    <span class="phpdocumentor-element-found-in__line">25</span>
 
     </aside>
 
@@ -136,21 +136,21 @@ It does not support rotation.</p>
 
 <dl class="phpdocumentor-table-of-contents">
                 <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_height">$height</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_height">$height</a>
     <span>
                 &nbsp;: int            </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_luminances">$luminances</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_luminances">$luminances</a>
     <span>
                 &nbsp;: array&lt;string|int, mixed&gt;            </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_width">$width</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_width">$width</a>
     <span>
                 &nbsp;: int            </span>
 </dt>
@@ -171,14 +171,28 @@ It does not support rotation.</p>
 <dd>GDLuminanceSource constructor.</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getHeight">getHeight()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html#method_fromBlob">fromBlob()</a>
+    <span>
+                        &nbsp;: self    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html#method_fromFile">fromFile()</a>
+    <span>
+                        &nbsp;: self    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getHeight">getHeight()</a>
     <span>
                         &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getMatrix">getMatrix()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getMatrix">getMatrix()</a>
     <span>
                         &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
@@ -186,7 +200,7 @@ It does not support rotation.</p>
 {@code int luminance = array[y * width + x] &amp; 0xff}</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getRow">getRow()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getRow">getRow()</a>
     <span>
                         &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
@@ -197,14 +211,21 @@ to only fetch this row rather than the whole image, since no 2D Readers may be i
 getMatrix() may never be called.</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getWidth">getWidth()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getWidth">getWidth()</a>
     <span>
                         &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_setLuminancePixel">setLuminancePixel()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_checkFile">checkFile()</a>
+    <span>
+                        &nbsp;: string    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_setLuminancePixel">setLuminancePixel()</a>
     <span>
                         &nbsp;: void    </span>
 </dt>
@@ -238,12 +259,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_height">
         $height
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_height" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_height" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">30</span>
 
@@ -272,12 +293,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_luminances">
         $luminances
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_luminances" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_luminances" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">28</span>
 
@@ -306,12 +327,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_width">
         $width
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_width" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_width" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">29</span>
 
@@ -347,7 +368,7 @@ getMatrix() may never be called.</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/GDLuminanceSource.php"><a href="files/src-decoder-gdluminancesource.html"><abbr title="src/Decoder/GDLuminanceSource.php">GDLuminanceSource.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">29</span>
+    <span class="phpdocumentor-element-found-in__line">30</span>
 
     </aside>
 
@@ -383,7 +404,7 @@ getMatrix() may never be called.</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/GDLuminanceSource.php"><a href="files/src-decoder-gdluminancesource.html"><abbr title="src/Decoder/GDLuminanceSource.php">GDLuminanceSource.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">38</span>
+    <span class="phpdocumentor-element-found-in__line">39</span>
 
     </aside>
 
@@ -426,6 +447,118 @@ getMatrix() may never be called.</dd>
             &mdash;
         
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_fromBlob">
+        fromBlob()
+        <a href="classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html#method_fromBlob" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/GDLuminanceSource.php"><a href="files/src-decoder-gdluminancesource.html"><abbr title="src/Decoder/GDLuminanceSource.php">GDLuminanceSource.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">78</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">fromBlob</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$blob</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$blob</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">self</span>
+            &mdash;
+        
+    
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_fromFile">
+        fromFile()
+        <a href="classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html#method_fromFile" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/GDLuminanceSource.php"><a href="files/src-decoder-gdluminancesource.html"><abbr title="src/Decoder/GDLuminanceSource.php">GDLuminanceSource.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">71</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">fromFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$path</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">self</span>
+            &mdash;
+        
+    
 </article>
                     <article
         class="phpdocumentor-element
@@ -435,12 +568,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method_getHeight">
         getHeight()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">67</span>
+    <span class="phpdocumentor-element-found-in__line">54</span>
 
     </aside>
 
@@ -452,6 +585,19 @@ getMatrix() may never be called.</dd>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">int</span>
@@ -469,12 +615,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method_getMatrix">
         getMatrix()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">53</span>
+    <span class="phpdocumentor-element-found-in__line">44</span>
 
     </aside>
 
@@ -488,6 +634,19 @@ getMatrix() may never be called.</dd>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
@@ -507,12 +666,12 @@ of the result.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_getRow">
         getRow()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">82</span>
+    <span class="phpdocumentor-element-found-in__line">59</span>
 
     </aside>
 
@@ -541,6 +700,19 @@ getMatrix() may never be called.</p>
             </dl>
 
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
@@ -558,12 +730,12 @@ getMatrix() may never be called.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_getWidth">
         getWidth()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">60</span>
+    <span class="phpdocumentor-element-found-in__line">49</span>
 
     </aside>
 
@@ -575,6 +747,19 @@ getMatrix() may never be called.</p>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">int</span>
@@ -583,6 +768,49 @@ getMatrix() may never be called.</p>
 </section>
 
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -protected
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_checkFile">
+        checkFile()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_checkFile" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">86</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">protected</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">checkFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$path</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">string</span>
+            &mdash;
+        
+    
 </article>
                     <article
         class="phpdocumentor-element
@@ -592,12 +820,12 @@ getMatrix() may never be called.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_setLuminancePixel">
         setLuminancePixel()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_setLuminancePixel" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_setLuminancePixel" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">102</span>
+    <span class="phpdocumentor-element-found-in__line">75</span>
 
     </aside>
 
@@ -614,21 +842,24 @@ getMatrix() may never be called.</p>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$g</span>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$b</span>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
             </dl>
 
@@ -653,7 +884,7 @@ getMatrix() may never be called.</p>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/GDLuminanceSource.php"><a href="files/src-decoder-gdluminancesource.html"><abbr title="src/Decoder/GDLuminanceSource.php">GDLuminanceSource.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">58</span>
+    <span class="phpdocumentor-element-found-in__line">59</span>
 
     </aside>
 

+ 264 - 33
classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html

@@ -98,7 +98,7 @@
     IMagickLuminanceSource
 
         <span class="phpdocumentor-element__extends">
-        extends <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSource">LuminanceSource</abbr></a>
+        extends <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceAbstract">LuminanceSourceAbstract</abbr></a>
     </span>
     
             <div class="phpdocumentor-element__package">
@@ -136,21 +136,21 @@ It does not support rotation.</p>
 
 <dl class="phpdocumentor-table-of-contents">
                 <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_height">$height</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_height">$height</a>
     <span>
                 &nbsp;: int            </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_luminances">$luminances</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_luminances">$luminances</a>
     <span>
                 &nbsp;: array&lt;string|int, mixed&gt;            </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_width">$width</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_width">$width</a>
     <span>
                 &nbsp;: int            </span>
 </dt>
@@ -171,14 +171,28 @@ It does not support rotation.</p>
 <dd>IMagickLuminanceSource constructor.</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getHeight">getHeight()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html#method_fromBlob">fromBlob()</a>
+    <span>
+                        &nbsp;: self    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html#method_fromFile">fromFile()</a>
+    <span>
+                        &nbsp;: self    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getHeight">getHeight()</a>
     <span>
                         &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getMatrix">getMatrix()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getMatrix">getMatrix()</a>
     <span>
                         &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
@@ -186,7 +200,7 @@ It does not support rotation.</p>
 {@code int luminance = array[y * width + x] &amp; 0xff}</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getRow">getRow()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getRow">getRow()</a>
     <span>
                         &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
@@ -197,14 +211,21 @@ to only fetch this row rather than the whole image, since no 2D Readers may be i
 getMatrix() may never be called.</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getWidth">getWidth()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getWidth">getWidth()</a>
     <span>
                         &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_setLuminancePixel">setLuminancePixel()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_checkFile">checkFile()</a>
+    <span>
+                        &nbsp;: string    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_setLuminancePixel">setLuminancePixel()</a>
     <span>
                         &nbsp;: void    </span>
 </dt>
@@ -238,12 +259,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_height">
         $height
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_height" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_height" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">30</span>
 
@@ -272,12 +293,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_luminances">
         $luminances
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_luminances" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_luminances" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">28</span>
 
@@ -306,12 +327,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_width">
         $width
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_width" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_width" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">29</span>
 
@@ -428,6 +449,118 @@ getMatrix() may never be called.</dd>
             &mdash;
         
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_fromBlob">
+        fromBlob()
+        <a href="classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html#method_fromBlob" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/IMagickLuminanceSource.php"><a href="files/src-decoder-imagickluminancesource.html"><abbr title="src/Decoder/IMagickLuminanceSource.php">IMagickLuminanceSource.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">64</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">fromBlob</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$blob</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$blob</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">self</span>
+            &mdash;
+        
+    
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_fromFile">
+        fromFile()
+        <a href="classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html#method_fromFile" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/IMagickLuminanceSource.php"><a href="files/src-decoder-imagickluminancesource.html"><abbr title="src/Decoder/IMagickLuminanceSource.php">IMagickLuminanceSource.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">57</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">fromFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$path</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">self</span>
+            &mdash;
+        
+    
 </article>
                     <article
         class="phpdocumentor-element
@@ -437,12 +570,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method_getHeight">
         getHeight()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">67</span>
+    <span class="phpdocumentor-element-found-in__line">54</span>
 
     </aside>
 
@@ -454,6 +587,19 @@ getMatrix() may never be called.</dd>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">int</span>
@@ -471,12 +617,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method_getMatrix">
         getMatrix()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">53</span>
+    <span class="phpdocumentor-element-found-in__line">44</span>
 
     </aside>
 
@@ -490,6 +636,19 @@ getMatrix() may never be called.</dd>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
@@ -509,12 +668,12 @@ of the result.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_getRow">
         getRow()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">82</span>
+    <span class="phpdocumentor-element-found-in__line">59</span>
 
     </aside>
 
@@ -543,6 +702,19 @@ getMatrix() may never be called.</p>
             </dl>
 
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
@@ -560,12 +732,12 @@ getMatrix() may never be called.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_getWidth">
         getWidth()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">60</span>
+    <span class="phpdocumentor-element-found-in__line">49</span>
 
     </aside>
 
@@ -577,6 +749,19 @@ getMatrix() may never be called.</p>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">int</span>
@@ -585,6 +770,49 @@ getMatrix() may never be called.</p>
 </section>
 
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -protected
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_checkFile">
+        checkFile()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_checkFile" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">86</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">protected</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">checkFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$path</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">string</span>
+            &mdash;
+        
+    
 </article>
                     <article
         class="phpdocumentor-element
@@ -594,12 +822,12 @@ getMatrix() may never be called.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_setLuminancePixel">
         setLuminancePixel()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_setLuminancePixel" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_setLuminancePixel" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">102</span>
+    <span class="phpdocumentor-element-found-in__line">75</span>
 
     </aside>
 
@@ -616,21 +844,24 @@ getMatrix() may never be called.</p>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$g</span>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$b</span>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
             </dl>
 

+ 159 - 40
classes/chillerlan-QRCode-Decoder-LuminanceSource.html → classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html

@@ -95,7 +95,7 @@
 
     <article class="phpdocumentor-element -class">
         <h2 class="phpdocumentor-content__title">
-    LuminanceSource
+    LuminanceSourceAbstract
 
     
             <div class="phpdocumentor-element__package">
@@ -105,11 +105,14 @@
                             </ul>
         </div>
     
+            <span class="phpdocumentor-element__implements">
+            implements
+                            <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a>                    </span>
     
     </h2>
 
         <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">26</span>
 
@@ -142,6 +145,17 @@ for other Readers in the chain.</p>
 
 
 
+<h3 id="interfaces_class_traits">
+    Interfaces, Classes and Traits
+    <a href="#interfaces_class_traits" class="headerlink"><i class="fas fa-link"></i></a>
+</h3>
+
+<dl class="phpdocumentor-table-of-contents">
+            <dt class="phpdocumentor-table-of-contents__entry -interface"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a></dt>
+        <dd></dd>
+    
+    
+    </dl>
 
 
 <h3 id="toc">
@@ -151,42 +165,42 @@ for other Readers in the chain.</p>
 
 <dl class="phpdocumentor-table-of-contents">
                 <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_height">$height</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_height">$height</a>
     <span>
                 &nbsp;: int            </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_luminances">$luminances</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_luminances">$luminances</a>
     <span>
                 &nbsp;: array&lt;string|int, mixed&gt;            </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -property -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_width">$width</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_width">$width</a>
     <span>
                 &nbsp;: int            </span>
 </dt>
 <dd></dd>
 
                 <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method___construct">__construct()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method___construct">__construct()</a>
     <span>
                         &nbsp;: mixed    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getHeight">getHeight()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getHeight">getHeight()</a>
     <span>
                         &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getMatrix">getMatrix()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getMatrix">getMatrix()</a>
     <span>
                         &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
@@ -194,7 +208,7 @@ for other Readers in the chain.</p>
 {@code int luminance = array[y * width + x] &amp; 0xff}</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getRow">getRow()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getRow">getRow()</a>
     <span>
                         &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
@@ -205,14 +219,21 @@ to only fetch this row rather than the whole image, since no 2D Readers may be i
 getMatrix() may never be called.</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getWidth">getWidth()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getWidth">getWidth()</a>
     <span>
                         &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -protected">
-    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_setLuminancePixel">setLuminancePixel()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_checkFile">checkFile()</a>
+    <span>
+                        &nbsp;: string    </span>
+</dt>
+<dd></dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_setLuminancePixel">setLuminancePixel()</a>
     <span>
                         &nbsp;: void    </span>
 </dt>
@@ -228,7 +249,7 @@ getMatrix() may never be called.</dd>
     <section class="phpdocumentor-properties">
         <h3 class="phpdocumentor-elements__header" id="properties">
             Properties
-            <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
+            <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
         </h3>
                     <article
         class="
@@ -239,12 +260,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_height">
         $height
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_height" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_height" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">30</span>
 
@@ -273,12 +294,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_luminances">
         $luminances
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_luminances" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_luminances" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">28</span>
 
@@ -307,12 +328,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="property_width">
         $width
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#property_width" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#property_width" class="headerlink"><i class="fas fa-link"></i></a>
         <span class="phpdocumentor-element__modifiers">
                                 </span>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">29</span>
 
@@ -337,7 +358,7 @@ getMatrix() may never be called.</dd>
             <section class="phpdocumentor-methods">
         <h3 class="phpdocumentor-elements__header" id="methods">
             Methods
-            <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
+            <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
         </h3>
                     <article
         class="phpdocumentor-element
@@ -347,10 +368,10 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method___construct">
         __construct()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
     <span class="phpdocumentor-element-found-in__line">35</span>
 
@@ -398,12 +419,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method_getHeight">
         getHeight()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">67</span>
+    <span class="phpdocumentor-element-found-in__line">54</span>
 
     </aside>
 
@@ -415,6 +436,19 @@ getMatrix() may never be called.</dd>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">int</span>
@@ -432,12 +466,12 @@ getMatrix() may never be called.</dd>
 >
     <h4 class="phpdocumentor-element__name" id="method_getMatrix">
         getMatrix()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">53</span>
+    <span class="phpdocumentor-element-found-in__line">44</span>
 
     </aside>
 
@@ -451,6 +485,19 @@ getMatrix() may never be called.</dd>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
@@ -470,12 +517,12 @@ of the result.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_getRow">
         getRow()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">82</span>
+    <span class="phpdocumentor-element-found-in__line">59</span>
 
     </aside>
 
@@ -504,6 +551,19 @@ getMatrix() may never be called.</p>
             </dl>
 
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
@@ -521,12 +581,12 @@ getMatrix() may never be called.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_getWidth">
         getWidth()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">60</span>
+    <span class="phpdocumentor-element-found-in__line">49</span>
 
     </aside>
 
@@ -538,6 +598,19 @@ getMatrix() may never be called.</p>
     
     
     
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">inheritDoc</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                
+                                             
+                                    </dd>
+                        </dl>
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">int</span>
@@ -546,6 +619,49 @@ getMatrix() may never be called.</p>
 </section>
 
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -protected
+                                    -static                    "
+>
+    <h4 class="phpdocumentor-element__name" id="method_checkFile">
+        checkFile()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_checkFile" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">86</span>
+
+    </aside>
+
+    
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">protected</span>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">checkFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$path</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">string</span>
+            &mdash;
+        
+    
 </article>
                     <article
         class="phpdocumentor-element
@@ -555,12 +671,12 @@ getMatrix() may never be called.</p>
 >
     <h4 class="phpdocumentor-element__name" id="method_setLuminancePixel">
         setLuminancePixel()
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#method_setLuminancePixel" class="headerlink"><i class="fas fa-link"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#method_setLuminancePixel" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSource.php"><a href="files/src-decoder-luminancesource.html"><abbr title="src/Decoder/LuminanceSource.php">LuminanceSource.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceAbstract.php"><a href="files/src-decoder-luminancesourceabstract.html"><abbr title="src/Decoder/LuminanceSourceAbstract.php">LuminanceSourceAbstract.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">102</span>
+    <span class="phpdocumentor-element-found-in__line">75</span>
 
     </aside>
 
@@ -577,21 +693,24 @@ getMatrix() may never be called.</p>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$g</span>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
                     <dt class="phpdocumentor-argument-list__entry">
                 <span class="phpdocumentor-signature__argument__name">$b</span>
                 : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
             </dl>
 
@@ -681,7 +800,7 @@ getMatrix() may never be called.</p>
 </section>
             </div>
         </div>
-        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSource.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
 
     </main>
 

+ 141 - 146
classes/chillerlan-QRCode-QRCodeReader.html → classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html

@@ -90,27 +90,24 @@
                     <ul class="phpdocumentor-breadcrumbs">
             <li class="phpdocumentor-breadcrumb"><a href="namespaces/chillerlan.html">chillerlan</a></li>
             <li class="phpdocumentor-breadcrumb"><a href="namespaces/chillerlan-qrcode.html">QRCode</a></li>
+            <li class="phpdocumentor-breadcrumb"><a href="namespaces/chillerlan-qrcode-decoder.html">Decoder</a></li>
     </ul>
 
-    <article class="phpdocumentor-element -class">
+    <article class="phpdocumentor-element -interface">
         <h2 class="phpdocumentor-content__title">
-    QRCodeReader
-
-    
-            <div class="phpdocumentor-element__package">
-            in package
+    LuminanceSourceInterface
+                <div class="phpdocumentor-element__package">
+            in
             <ul class="phpdocumentor-breadcrumbs">
-                                    <li class="phpdocumentor-breadcrumb"><a href="packages/Application.html">Application</a></li>
+                                    <li><a href="packages/Application.html">Application</a></li>
                             </ul>
         </div>
-    
-    
     </h2>
 
         <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">24</span>
+    <span class="phpdocumentor-element-found-in__line">15</span>
 
     </aside>
 
@@ -129,45 +126,50 @@
 </h3>
 
 <dl class="phpdocumentor-table-of-contents">
-                <dt class="phpdocumentor-table-of-contents__entry -property -private">
-    <a href="classes/chillerlan-QRCode-QRCodeReader.html#property_options">$options</a>
+                    <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_fromBlob">fromBlob()</a>
     <span>
-                &nbsp;: <abbr title="\chillerlan\Settings\SettingsContainerInterface">SettingsContainerInterface</abbr>            </span>
+                        &nbsp;: self    </span>
 </dt>
-<dd>The settings container</dd>
+<dd></dd>
 
-                <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-QRCodeReader.html#method___construct">__construct()</a>
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_fromFile">fromFile()</a>
     <span>
-                        &nbsp;: mixed    </span>
+                        &nbsp;: self    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_readBlob">readBlob()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getHeight">getHeight()</a>
     <span>
-                        &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a>    </span>
+                        &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_readFile">readFile()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getMatrix">getMatrix()</a>
     <span>
-                        &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a>    </span>
+                        &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
-<dd></dd>
+<dd>Fetches luminance data for the underlying bitmap. Values should be fetched using:
+{@code int luminance = array[y * width + x] &amp; 0xff}</dd>
 
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
-    <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_readResource">readResource()</a>
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getRow">getRow()</a>
     <span>
-                        &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a>    </span>
+                        &nbsp;: array&lt;string|int, mixed&gt;    </span>
 </dt>
-<dd></dd>
+<dd>Fetches one row of luminance data from the underlying platform&#039;s bitmap. Values range from
+0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
+to bitwise and with 0xff for each value. It is preferable for implementations of this method
+to only fetch this row rather than the whole image, since no 2D Readers may be installed and
+getMatrix() may never be called.</dd>
 
-            <dt class="phpdocumentor-table-of-contents__entry -method -private">
-    <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_decode">decode()</a>
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getWidth">getWidth()</a>
     <span>
-                        &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a>    </span>
+                        &nbsp;: int    </span>
 </dt>
 <dd></dd>
 
@@ -177,81 +179,41 @@
 
         
 
-        
-    <section class="phpdocumentor-properties">
-        <h3 class="phpdocumentor-elements__header" id="properties">
-            Properties
-            <a href="classes/chillerlan-QRCode-QRCodeReader.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
-        </h3>
-                    <article
-        class="
-            phpdocumentor-element
-            -property
-            -private
-                                                        "
->
-    <h4 class="phpdocumentor-element__name" id="property_options">
-        $options
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#property_options" class="headerlink"><i class="fas fa-link"></i></a>
-        <span class="phpdocumentor-element__modifiers">
-                                </span>
-    </h4>
-    <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
-    :
-    <span class="phpdocumentor-element-found-in__line">31</span>
-
-    </aside>
-
-        <p class="phpdocumentor-summary">The settings container</p>
-
-    <code class="phpdocumentor-code phpdocumentor-signature ">
-    <span class="phpdocumentor-signature__visibility">private</span>
-        <span class="phpdocumentor-signature__type"><abbr title="\chillerlan\Settings\SettingsContainerInterface">SettingsContainerInterface</abbr></span>
-    <span class="phpdocumentor-signature__name">$options</span>
-    </code>
-
-    
-    
-    
-
-</article>
-            </section>
-
             <section class="phpdocumentor-methods">
         <h3 class="phpdocumentor-elements__header" id="methods">
             Methods
-            <a href="classes/chillerlan-QRCode-QRCodeReader.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
+            <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
         </h3>
                     <article
         class="phpdocumentor-element
             -method
             -public
-                                                        "
+                                    -static                    "
 >
-    <h4 class="phpdocumentor-element__name" id="method___construct">
-        __construct()
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
+    <h4 class="phpdocumentor-element__name" id="method_fromBlob">
+        fromBlob()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_fromBlob" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">36</span>
+    <span class="phpdocumentor-element-found-in__line">52</span>
 
     </aside>
 
     
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">public</span>
-                <span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type"><abbr title="\chillerlan\Settings\SettingsContainerInterface">SettingsContainerInterface</abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$options</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">fromBlob</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$blob</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+        <section class="phpdocumentor-description"></section>
 
-    
         <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
     <dl class="phpdocumentor-argument-list">
                     <dt class="phpdocumentor-argument-list__entry">
-                <span class="phpdocumentor-signature__argument__name">$options</span>
-                : <span class="phpdocumentor-signature__argument__return-type"><abbr title="\chillerlan\Settings\SettingsContainerInterface">SettingsContainerInterface</abbr></span>
-                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
+                <span class="phpdocumentor-signature__argument__name">$blob</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
             <dd class="phpdocumentor-argument-list__definition">
                     <section class="phpdocumentor-description"></section>
 
@@ -261,7 +223,7 @@
     
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
-    <span class="phpdocumentor-signature__response_type">mixed</span>
+    <span class="phpdocumentor-signature__response_type">self</span>
             &mdash;
         
     
@@ -270,40 +232,42 @@
         class="phpdocumentor-element
             -method
             -public
-                                                        "
+                                    -static                    "
 >
-    <h4 class="phpdocumentor-element__name" id="method_readBlob">
-        readBlob()
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_readBlob" class="headerlink"><i class="fas fa-link"></i></a>
+    <h4 class="phpdocumentor-element__name" id="method_fromFile">
+        fromFile()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_fromFile" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">77</span>
+    <span class="phpdocumentor-element-found-in__line">51</span>
 
     </aside>
 
     
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">public</span>
-                <span class="phpdocumentor-signature__name">readBlob</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$imgBlob</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+            <span class="phpdocumentor-signature__static">static</span>    <span class="phpdocumentor-signature__name">fromFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+        <section class="phpdocumentor-description"></section>
 
-    
         <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
     <dl class="phpdocumentor-argument-list">
                     <dt class="phpdocumentor-argument-list__entry">
-                <span class="phpdocumentor-signature__argument__name">$imgBlob</span>
+                <span class="phpdocumentor-signature__argument__name">$path</span>
                 : <span class="phpdocumentor-signature__argument__return-type">string</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"></section>
+
             </dd>
             </dl>
 
     
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
-    <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span>
+    <span class="phpdocumentor-signature__response_type">self</span>
             &mdash;
         
     
@@ -314,40 +278,32 @@
             -public
                                                         "
 >
-    <h4 class="phpdocumentor-element__name" id="method_readFile">
-        readFile()
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_readFile" class="headerlink"><i class="fas fa-link"></i></a>
+    <h4 class="phpdocumentor-element__name" id="method_getHeight">
+        getHeight()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getHeight" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">59</span>
+    <span class="phpdocumentor-element-found-in__line">35</span>
 
     </aside>
 
     
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">public</span>
-                <span class="phpdocumentor-signature__name">readFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$imgFilePath</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+                <span class="phpdocumentor-signature__name">getHeight</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
 
     
-        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
-    <dl class="phpdocumentor-argument-list">
-                    <dt class="phpdocumentor-argument-list__entry">
-                <span class="phpdocumentor-signature__argument__name">$imgFilePath</span>
-                : <span class="phpdocumentor-signature__argument__return-type">string</span>
-                            </dt>
-            <dd class="phpdocumentor-argument-list__definition">
-                
-            </dd>
-            </dl>
-
+    
     
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
-    <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span>
+    <span class="phpdocumentor-signature__response_type">int</span>
             &mdash;
-        
+            <section class="phpdocumentor-description"><p>The height of the bitmap.</p>
+</section>
+
     
 </article>
                     <article
@@ -356,82 +312,121 @@
             -public
                                                         "
 >
-    <h4 class="phpdocumentor-element__name" id="method_readResource">
-        readResource()
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_readResource" class="headerlink"><i class="fas fa-link"></i></a>
+    <h4 class="phpdocumentor-element__name" id="method_getMatrix">
+        getMatrix()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getMatrix" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">95</span>
+    <span class="phpdocumentor-element-found-in__line">25</span>
 
     </aside>
 
+        <p class="phpdocumentor-summary">Fetches luminance data for the underlying bitmap. Values should be fetched using:
+{@code int luminance = array[y * width + x] &amp; 0xff}</p>
+
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+                <span class="phpdocumentor-signature__name">getMatrix</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span></code>
+
+    
+    
+    
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
+            &mdash;
+            <section class="phpdocumentor-description"><p>A row-major 2D array of luminance values. Do not use result.length as it may be
+larger than width * height bytes on some platforms. Do not modify the contents
+of the result.</p>
+</section>
+
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                                        "
+>
+    <h4 class="phpdocumentor-element__name" id="method_getRow">
+        getRow()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getRow" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">48</span>
+
+    </aside>
+
+        <p class="phpdocumentor-summary">Fetches one row of luminance data from the underlying platform&#039;s bitmap. Values range from
+0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
+to bitwise and with 0xff for each value. It is preferable for implementations of this method
+to only fetch this row rather than the whole image, since no 2D Readers may be installed and
+getMatrix() may never be called.</p>
+
     <code class="phpdocumentor-code phpdocumentor-signature ">
     <span class="phpdocumentor-signature__visibility">public</span>
-                <span class="phpdocumentor-signature__name">readResource</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><abbr title="\Imagick">Imagick</abbr>|<abbr title="\GdImage">GdImage</abbr>|resource&nbsp;</span><span class="phpdocumentor-signature__argument__name">$imgSource</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+                <span class="phpdocumentor-signature__name">getRow</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$y</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span></code>
 
     
         <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
     <dl class="phpdocumentor-argument-list">
                     <dt class="phpdocumentor-argument-list__entry">
-                <span class="phpdocumentor-signature__argument__name">$imgSource</span>
-                : <span class="phpdocumentor-signature__argument__return-type"><abbr title="\Imagick">Imagick</abbr>|<abbr title="\GdImage">GdImage</abbr>|resource</span>
+                <span class="phpdocumentor-signature__argument__name">$y</span>
+                : <span class="phpdocumentor-signature__argument__return-type">int</span>
                             </dt>
             <dd class="phpdocumentor-argument-list__definition">
-                
+                    <section class="phpdocumentor-description"><p>The row to fetch, which must be in [0,getHeight())</p>
+</section>
+
             </dd>
             </dl>
 
     
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
-    <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span>
+    <span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
             &mdash;
-        
+            <section class="phpdocumentor-description"><p>An array containing the luminance data.</p>
+</section>
+
     
 </article>
                     <article
         class="phpdocumentor-element
             -method
-            -private
+            -public
                                                         "
 >
-    <h4 class="phpdocumentor-element__name" id="method_decode">
-        decode()
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#method_decode" class="headerlink"><i class="fas fa-link"></i></a>
+    <h4 class="phpdocumentor-element__name" id="method_getWidth">
+        getWidth()
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#method_getWidth" class="headerlink"><i class="fas fa-link"></i></a>
     </h4>
     <aside class="phpdocumentor-element-found-in">
-    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCodeReader.php"><a href="files/src-qrcodereader.html"><abbr title="src/QRCodeReader.php">QRCodeReader.php</abbr></a></abbr>
+    <abbr class="phpdocumentor-element-found-in__file" title="src/Decoder/LuminanceSourceInterface.php"><a href="files/src-decoder-luminancesourceinterface.html"><abbr title="src/Decoder/LuminanceSourceInterface.php">LuminanceSourceInterface.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">45</span>
+    <span class="phpdocumentor-element-found-in__line">30</span>
 
     </aside>
 
     
     <code class="phpdocumentor-code phpdocumentor-signature ">
-    <span class="phpdocumentor-signature__visibility">private</span>
-                <span class="phpdocumentor-signature__name">decode</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><abbr title="\Imagick">Imagick</abbr>|<abbr title="\GdImage">GdImage</abbr>|resource&nbsp;</span><span class="phpdocumentor-signature__argument__name">$im</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+    <span class="phpdocumentor-signature__visibility">public</span>
+                <span class="phpdocumentor-signature__name">getWidth</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
 
     
-        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
-    <dl class="phpdocumentor-argument-list">
-                    <dt class="phpdocumentor-argument-list__entry">
-                <span class="phpdocumentor-signature__argument__name">$im</span>
-                : <span class="phpdocumentor-signature__argument__return-type"><abbr title="\Imagick">Imagick</abbr>|<abbr title="\GdImage">GdImage</abbr>|resource</span>
-                            </dt>
-            <dd class="phpdocumentor-argument-list__definition">
-                
-            </dd>
-            </dl>
-
+    
     
 
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
-    <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span>
+    <span class="phpdocumentor-signature__response_type">int</span>
             &mdash;
-        
+            <section class="phpdocumentor-description"><p>The width of the bitmap.</p>
+</section>
+
     
 </article>
             </section>
@@ -512,7 +507,7 @@
 </section>
             </div>
         </div>
-        <a href="classes/chillerlan-QRCode-QRCodeReader.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
+        <a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
 
     </main>
 

+ 230 - 33
classes/chillerlan-QRCode-QRCode.html

@@ -110,7 +110,7 @@
         <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">28</span>
+    <span class="phpdocumentor-element-found-in__line">29</span>
 
     </aside>
 
@@ -288,6 +288,13 @@
 </dt>
 <dd>The settings container</dd>
 
+            <dt class="phpdocumentor-table-of-contents__entry -property -private">
+    <a href="classes/chillerlan-QRCode-QRCode.html#property_luminanceSourceClass">$luminanceSourceClass</a>
+    <span>
+                &nbsp;: string            </span>
+</dt>
+<dd>The FQCN of the luminance sporce class to use in the reader (GD or Imagick)</dd>
+
                 <dt class="phpdocumentor-table-of-contents__entry -method -public">
     <a href="classes/chillerlan-QRCode-QRCode.html#method___construct">__construct()</a>
     <span>
@@ -337,6 +344,13 @@
 </dt>
 <dd>ISO/IEC 18004:2000 8.3.2 - Numeric Mode</dd>
 
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-QRCode.html#method_clearSegments">clearSegments()</a>
+    <span>
+                        &nbsp;: self    </span>
+</dt>
+<dd>Clears the data segments array</dd>
+
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
     <a href="classes/chillerlan-QRCode-QRCode.html#method_getMatrix">getMatrix()</a>
     <span>
@@ -372,6 +386,20 @@
 </dt>
 <dd>checks if a string qualifies as numeric (convenience method)</dd>
 
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-QRCode.html#method_readFromBlob">readFromBlob()</a>
+    <span>
+                        &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a>    </span>
+</dt>
+<dd>Reads a QR Code from the given data blob</dd>
+
+            <dt class="phpdocumentor-table-of-contents__entry -method -public">
+    <a href="classes/chillerlan-QRCode-QRCode.html#method_readFromFile">readFromFile()</a>
+    <span>
+                        &nbsp;: <a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a>    </span>
+</dt>
+<dd>Reads a QR Code from a given file</dd>
+
             <dt class="phpdocumentor-table-of-contents__entry -method -public">
     <a href="classes/chillerlan-QRCode-QRCode.html#method_render">render()</a>
     <span>
@@ -420,7 +448,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">33</span>
+    <span class="phpdocumentor-element-found-in__line">34</span>
 
     </aside>
 
@@ -447,7 +475,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">54</span>
+    <span class="phpdocumentor-element-found-in__line">55</span>
 
     </aside>
 
@@ -474,7 +502,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">52</span>
+    <span class="phpdocumentor-element-found-in__line">53</span>
 
     </aside>
 
@@ -501,7 +529,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">44</span>
+    <span class="phpdocumentor-element-found-in__line">45</span>
 
     </aside>
 
@@ -528,7 +556,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">42</span>
+    <span class="phpdocumentor-element-found-in__line">43</span>
 
     </aside>
 
@@ -555,7 +583,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">40</span>
+    <span class="phpdocumentor-element-found-in__line">41</span>
 
     </aside>
 
@@ -582,7 +610,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">50</span>
+    <span class="phpdocumentor-element-found-in__line">51</span>
 
     </aside>
 
@@ -609,7 +637,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">36</span>
+    <span class="phpdocumentor-element-found-in__line">37</span>
 
     </aside>
 
@@ -636,7 +664,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">38</span>
+    <span class="phpdocumentor-element-found-in__line">39</span>
 
     </aside>
 
@@ -663,7 +691,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">61</span>
+    <span class="phpdocumentor-element-found-in__line">62</span>
 
     </aside>
 
@@ -691,7 +719,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">46</span>
+    <span class="phpdocumentor-element-found-in__line">47</span>
 
     </aside>
 
@@ -718,7 +746,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">48</span>
+    <span class="phpdocumentor-element-found-in__line">49</span>
 
     </aside>
 
@@ -745,7 +773,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">31</span>
+    <span class="phpdocumentor-element-found-in__line">32</span>
 
     </aside>
 
@@ -787,7 +815,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">102</span>
+    <span class="phpdocumentor-element-found-in__line">94</span>
 
     </aside>
 
@@ -821,7 +849,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">90</span>
+    <span class="phpdocumentor-element-found-in__line">103</span>
 
     </aside>
 
@@ -868,7 +896,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">97</span>
+    <span class="phpdocumentor-element-found-in__line">89</span>
 
     </aside>
 
@@ -884,6 +912,54 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     
     
 
+</article>
+                    <article
+        class="
+            phpdocumentor-element
+            -property
+            -private
+                                                        "
+>
+    <h4 class="phpdocumentor-element__name" id="property_luminanceSourceClass">
+        $luminanceSourceClass
+        <a href="classes/chillerlan-QRCode-QRCode.html#property_luminanceSourceClass" class="headerlink"><i class="fas fa-link"></i></a>
+        <span class="phpdocumentor-element__modifiers">
+                                </span>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">110</span>
+
+    </aside>
+
+        <p class="phpdocumentor-summary">The FQCN of the luminance sporce class to use in the reader (GD or Imagick)</p>
+
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">private</span>
+        <span class="phpdocumentor-signature__type">string</span>
+    <span class="phpdocumentor-signature__name">$luminanceSourceClass</span>
+    </code>
+
+    
+        <section class="phpdocumentor-description"></section>
+
+    
+    <h5 class="phpdocumentor-tag-list__heading" id="tags">
+        Tags
+        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
+    </h5>
+    <dl class="phpdocumentor-tag-list">
+                                    <dt class="phpdocumentor-tag-list__entry">
+                    <span class="phpdocumentor-tag__name">see</span>
+                </dt>
+                <dd class="phpdocumentor-tag-list__definition">
+                                                                                    <span class="phpdocumentor-tag-link"><a href="classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html"><abbr title="\chillerlan\QRCode\Decoder\LuminanceSourceInterface">LuminanceSourceInterface</abbr></a></span>
+                                        
+                                             
+                                    </dd>
+                        </dl>
+
 </article>
             </section>
 
@@ -905,7 +981,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">109</span>
+    <span class="phpdocumentor-element-found-in__line">117</span>
 
     </aside>
 
@@ -951,7 +1027,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">252</span>
+    <span class="phpdocumentor-element-found-in__line">263</span>
 
     </aside>
 
@@ -995,7 +1071,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">270</span>
+    <span class="phpdocumentor-element-found-in__line">281</span>
 
     </aside>
 
@@ -1039,7 +1115,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">279</span>
+    <span class="phpdocumentor-element-found-in__line">290</span>
 
     </aside>
 
@@ -1083,7 +1159,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">290</span>
+    <span class="phpdocumentor-element-found-in__line">301</span>
 
     </aside>
 
@@ -1149,7 +1225,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">261</span>
+    <span class="phpdocumentor-element-found-in__line">272</span>
 
     </aside>
 
@@ -1193,7 +1269,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">243</span>
+    <span class="phpdocumentor-element-found-in__line">254</span>
 
     </aside>
 
@@ -1218,6 +1294,39 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
 
     
 
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type">self</span>
+            &mdash;
+        
+    
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                                        "
+>
+    <h4 class="phpdocumentor-element__name" id="method_clearSegments">
+        clearSegments()
+        <a href="classes/chillerlan-QRCode-QRCode.html#method_clearSegments" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">322</span>
+
+    </aside>
+
+        <p class="phpdocumentor-summary">Clears the data segments array</p>
+
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+                <span class="phpdocumentor-signature__name">clearSegments</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">self</span></code>
+
+    
+    
+    
+
         <h5 class="phpdocumentor-return-value__heading">Return values</h5>
     <span class="phpdocumentor-signature__response_type">self</span>
             &mdash;
@@ -1237,7 +1346,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">142</span>
+    <span class="phpdocumentor-element-found-in__line">153</span>
 
     </aside>
 
@@ -1284,7 +1393,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">214</span>
+    <span class="phpdocumentor-element-found-in__line">225</span>
 
     </aside>
 
@@ -1328,7 +1437,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">228</span>
+    <span class="phpdocumentor-element-found-in__line">239</span>
 
     </aside>
 
@@ -1372,7 +1481,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">221</span>
+    <span class="phpdocumentor-element-found-in__line">232</span>
 
     </aside>
 
@@ -1416,7 +1525,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">207</span>
+    <span class="phpdocumentor-element-found-in__line">218</span>
 
     </aside>
 
@@ -1446,6 +1555,94 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
             &mdash;
         
     
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                                        "
+>
+    <h4 class="phpdocumentor-element__name" id="method_readFromBlob">
+        readFromBlob()
+        <a href="classes/chillerlan-QRCode-QRCode.html#method_readFromBlob" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">339</span>
+
+    </aside>
+
+        <p class="phpdocumentor-summary">Reads a QR Code from the given data blob</p>
+
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+                <span class="phpdocumentor-signature__name">readFromBlob</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$blob</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$blob</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span>
+            &mdash;
+        
+    
+</article>
+                    <article
+        class="phpdocumentor-element
+            -method
+            -public
+                                                        "
+>
+    <h4 class="phpdocumentor-element__name" id="method_readFromFile">
+        readFromFile()
+        <a href="classes/chillerlan-QRCode-QRCode.html#method_readFromFile" class="headerlink"><i class="fas fa-link"></i></a>
+    </h4>
+    <aside class="phpdocumentor-element-found-in">
+    <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
+    :
+    <span class="phpdocumentor-element-found-in__line">331</span>
+
+    </aside>
+
+        <p class="phpdocumentor-summary">Reads a QR Code from a given file</p>
+
+    <code class="phpdocumentor-code phpdocumentor-signature ">
+    <span class="phpdocumentor-signature__visibility">public</span>
+                <span class="phpdocumentor-signature__name">readFromFile</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$path</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span></code>
+
+    
+        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
+    <dl class="phpdocumentor-argument-list">
+                    <dt class="phpdocumentor-argument-list__entry">
+                <span class="phpdocumentor-signature__argument__name">$path</span>
+                : <span class="phpdocumentor-signature__argument__return-type">string</span>
+                            </dt>
+            <dd class="phpdocumentor-argument-list__definition">
+                    <section class="phpdocumentor-description"></section>
+
+            </dd>
+            </dl>
+
+    
+
+        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
+    <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Decoder-DecoderResult.html"><abbr title="\chillerlan\QRCode\Decoder\DecoderResult">DecoderResult</abbr></a></span>
+            &mdash;
+        
+    
 </article>
                     <article
         class="phpdocumentor-element
@@ -1460,7 +1657,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">118</span>
+    <span class="phpdocumentor-element-found-in__line">129</span>
 
     </aside>
 
@@ -1512,7 +1709,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</dd>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">236</span>
+    <span class="phpdocumentor-element-found-in__line">247</span>
 
     </aside>
 
@@ -1557,7 +1754,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</p>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">190</span>
+    <span class="phpdocumentor-element-found-in__line">201</span>
 
     </aside>
 
@@ -1604,7 +1801,7 @@ ISO/IEC 18004:2000 Annex H - Optimisation of bit stream length</p>
     <aside class="phpdocumentor-element-found-in">
     <abbr class="phpdocumentor-element-found-in__file" title="src/QRCode.php"><a href="files/src-qrcode.html"><abbr title="src/QRCode.php">QRCode.php</abbr></a></abbr>
     :
-    <span class="phpdocumentor-element-found-in__line">168</span>
+    <span class="phpdocumentor-element-found-in__line">179</span>
 
     </aside>
 

BIN
descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ


BIN
descriptors/-/F/jRgdyBLyXKT+BGk4NfTw


BIN
descriptors/-/L/ek58PIvBzTeodS5wVNSA


BIN
descriptors/-/O/p5-gmoh5hPLmm04gN4pQ


BIN
descriptors/0/8/K5Nh3Keev5uTA1xbHsFg


BIN
descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ


BIN
descriptors/0/N/GpaeNybzoU59gW6UhBnQ


BIN
descriptors/1/C/HhgHbACpp2-v5vnsHqoQ


BIN
descriptors/1/W/3ebKU0GB6zhMUdVP1b+A


BIN
descriptors/1/W/oHvshtXLek5m48kI4qYQ


BIN
descriptors/3/J/jEZ9kqVO837kAN9GcqQQ


BIN
descriptors/3/O/NJboKaggdJkamainZjsA


BIN
descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA


BIN
descriptors/5/S/JYW4u1Ss7g87mvPurwuQ


BIN
descriptors/6/1/lB29Unf+MGop8ZfQpbxw


BIN
descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg


BIN
descriptors/8/B/YUUawcRPu8iqa0H4uRzA


BIN
descriptors/8/T/vc7T6bnZ3UycLojYYsbQ


BIN
descriptors/9/B/6kSlrBrO9emyiQCjpXKg


BIN
descriptors/A/H/DD90x3SluOjSxkcV88ZA


BIN
descriptors/A/N/Ljow2YPBWWbEcemFbdJg


BIN
descriptors/B/1/aTEUuEOOiQctQ60relWw


BIN
descriptors/B/E/r1vpxcSDgXhLhmvapg0g


BIN
descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w


BIN
descriptors/D/F/DOG571bO-z1teWt5gCnA


BIN
descriptors/D/Y/k68AX6bKDcYhVlpLdDsA


BIN
descriptors/F/9/pXbPL7Yb0FBQxCQ3gJFw


BIN
descriptors/F/B/LksworQTmdGDsbuGgK3w


BIN
descriptors/F/G/P3ebg7d0jPAOIUL6beNQ


BIN
descriptors/F/V/02epmiUkatFxWCEUNOZQ


BIN
descriptors/F/W/W0teNcVy9jqdc46pQatg


BIN
descriptors/G/V/fdJGuZf5fNFLqtugqT-w


BIN
descriptors/G/Z/oRUELJnE8E9xjfb7zVYw


BIN
descriptors/H/K/L8qxzlGe3nApAEb0XDmw


BIN
descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ


BIN
descriptors/M/-/WxZaFDk-ceeWbfrdktlw


BIN
descriptors/M/D/7RuPc8ZLXiYUOULAXMHA


BIN
descriptors/M/E/Nh3ZTPCAW0NKAreDA58A


BIN
descriptors/M/H/UP+q5Whq-hBCfNUVgmmA


BIN
descriptors/M/T/A9D8WO4csoTT6-PUOhyQ


BIN
descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw


BIN
descriptors/N/K/1wJmCAkdhUBMG4W9U26Q


BIN
descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ


BIN
descriptors/O/-/Qj50sQunXyprLIPjDWuw


BIN
descriptors/O/9/TxGIyEkOt8LOdakmWGng


BIN
descriptors/O/C/QrLkTA4pksM1hZjh2fmQ


BIN
descriptors/O/P/hsy4XuaUYG7s+p327kdw


BIN
descriptors/P/F/CRQ81A3lfcHvSs9jQKkw


BIN
descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ


BIN
descriptors/Q/P/B+J2GJLfQ0IakPB13vHw


BIN
descriptors/R/J/XynComHevEUzJVBqwqBw


BIN
descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ


BIN
descriptors/S/5/GDvbx5K37txRsFozM6Dw


BIN
descriptors/S/O/uB88R0MDvju5O8vP9R2g


BIN
descriptors/S/W/ZcfDRvjA4bYLypDlydtA


BIN
descriptors/T/A/1kul5pbTKtAcB726dqtg


BIN
descriptors/T/U/tCn8347JaERiSFirOQkQ


BIN
descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig


BIN
descriptors/U/M/GOkWye9ioWEVXJE38j3A


BIN
descriptors/U/T/sy7Fttx0RT+dXnidigIg


BIN
descriptors/V/D/k1Sxb8RF0516043ylCfA


BIN
descriptors/W/Q/m3aGIB9X9Kkao7uhrHww


BIN
descriptors/W/V/grsubfc-REqTpvf8epEg


BIN
descriptors/X/K/dIL95Dr61miaEd3wrNUQ


BIN
descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ


BIN
descriptors/X/P/6FuSnMkagyPUTmQNikpA


BIN
descriptors/Y/H/ePCrZ0GYbMW9q694m-BA


BIN
descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA


BIN
descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg


BIN
descriptors/Z/S/8L-Pmb4m7UdhV0PqP7UQ


BIN
descriptors/Z/T/SVOJOBr-M5MAP66POlfw


BIN
descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg


BIN
files/+/I/rhtfcb95qAfD5xkfQCDA


BIN
files/+/N/y54xmo0PmdJtDqeNyxHQ


BIN
files/-/1/gQz+0kCp2S+uOb4pDOaQ


BIN
files/-/U/qKZm-O0KQVYg2VuJe6oQ


BIN
files/1/C/q-OflqQFrr9UulwLTi+Q


BIN
files/1/R/O1xSeGjW+Xx0yzVfGMTQ


BIN
files/2/S/4quEniu1dLV7N8JAjUTg


BIN
files/3/N/+vk-Wi5Xtah1rRjh6KpA


BIN
files/5/7/f+GFbcWFY5vvo7Aq+-tg


BIN
files/5/E/vOzu1oC-ybZhWZp+ImsQ


BIN
files/5/U/7L3kE0FAIDgTsLA2t-lw


BIN
files/5/Y/HfY1YKVYdpLXueUOscKw


BIN
files/6/M/62Me9EsE+cZRSiUFxExA


BIN
files/8/-/HQ6urJwEFK5+A86IqDTA


BIN
files/8/I/xRvoDElsAUZ5v5+jQ4tw


BIN
files/9/6/IdScmpJoa63BTJGxdjVA


BIN
files/9/Z/S5ry-ENYMJQTMpn84imA


BIN
files/B/D/NWMpTfrWm-oR1UTStdXQ


BIN
files/B/E/BDfo-s0c+wrrgSJ5gKIw


BIN
files/B/M/TkoDX8XEbIN0tFNkdE8w


BIN
files/C/0/Jt0-SebIbIIkDfOIIVfA


Некоторые файлы не были показаны из-за большого количества измененных файлов