:octocat: QRMatrix::M_*TYPE rework, separate masking

This commit is contained in:
codemasher
2021-01-19 00:24:16 +01:00
parent 902486edc3
commit 307b6462f6
14 changed files with 246 additions and 194 deletions
+20 -19
View File
@@ -11,6 +11,7 @@
namespace chillerlan\QRCodeExamples;
use chillerlan\QRCode\{QRCode, QROptions};
use chillerlan\QRCode\Data\QRMatrix;
use chillerlan\QRCode\Common\EccLevel;
require_once __DIR__.'/../vendor/autoload.php';
@@ -18,39 +19,39 @@ require_once __DIR__.'/../vendor/autoload.php';
$data = 'https://www.youtube.com/watch?v=DLzxrzFCyOs&t=43s';
$options = new QROptions([
'version' => 10,
'version' => 5,
'outputType' => QRCode::OUTPUT_IMAGE_PNG,
'eccLevel' => EccLevel::L,
'scale' => 5,
'imageBase64' => false,
'moduleValues' => [
// finder
1536 => [0, 63, 255], // dark (true)
6 => [255, 255, 255], // light (false), white is the transparency color and is enabled by default
5632 => [241, 28, 163], // finder dot, dark (true)
QRMatrix::M_FINDER | QRMatrix::IS_DARK => [0, 63, 255], // dark (true)
QRMatrix::M_FINDER => [255, 255, 255], // light (false), white is the transparency color and is enabled by default
QRMatrix::M_FINDER_DOT | QRMatrix::IS_DARK => [241, 28, 163], // finder dot, dark (true)
// alignment
2560 => [255, 0, 255],
10 => [255, 255, 255],
QRMatrix::M_ALIGNMENT | QRMatrix::IS_DARK => [255, 0, 255],
QRMatrix::M_ALIGNMENT => [255, 255, 255],
// timing
3072 => [255, 0, 0],
12 => [255, 255, 255],
QRMatrix::M_TIMING | QRMatrix::IS_DARK => [255, 0, 0],
QRMatrix::M_TIMING => [255, 255, 255],
// format
3584 => [67, 99, 84],
14 => [255, 255, 255],
QRMatrix::M_FORMAT | QRMatrix::IS_DARK => [67, 99, 84],
QRMatrix::M_FORMAT => [255, 255, 255],
// version
4096 => [62, 174, 190],
16 => [255, 255, 255],
QRMatrix::M_VERSION | QRMatrix::IS_DARK => [62, 174, 190],
QRMatrix::M_VERSION => [255, 255, 255],
// data
1024 => [0, 0, 0],
4 => [255, 255, 255],
QRMatrix::M_DATA | QRMatrix::IS_DARK => [0, 0, 0],
QRMatrix::M_DATA => [255, 255, 255],
// darkmodule
512 => [0, 0, 0],
QRMatrix::M_DARKMODULE | QRMatrix::IS_DARK => [0, 0, 0],
// separator
8 => [255, 255, 255],
QRMatrix::M_SEPARATOR => [255, 255, 255],
// quietzone
18 => [255, 255, 255],
// logo (requires a call to QRMatrix::setLogoSpace())
20 => [255, 255, 255],
QRMatrix::M_QUIETZONE => [255, 255, 255],
// logo (requires a call to QRMatrix::setLogoSpace()), see QRImageWithLogo
QRMatrix::M_LOGO => [255, 255, 255],
],
]);