From 1423638fa0f40ce16e307e92d4a88a5d1d9d3fd1 Mon Sep 17 00:00:00 2001 From: smiley Date: Thu, 13 Jul 2023 12:23:58 +0200 Subject: [PATCH] :sparkles: reflectance reversal example --- examples/Readme.md | 1 + examples/reflectance.php | 100 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 examples/reflectance.php diff --git a/examples/Readme.md b/examples/Readme.md index c5e027cd3..5ab27522a 100644 --- a/examples/Readme.md +++ b/examples/Readme.md @@ -10,6 +10,7 @@ - [EPS](./eps.php): Encapsulated PostScript - [String](./text.php): String output - [Multi mode](./multimode.php): a demostration of multi mode usage +- [Reflectance](./reflectance.php): demonstrates reflectance reversal - [QRCode reader](./reader.php): a simple reader example diff --git a/examples/reflectance.php b/examples/reflectance.php new file mode 100644 index 000000000..2bf36a4e3 --- /dev/null +++ b/examples/reflectance.php @@ -0,0 +1,100 @@ + + * @copyright 2023 smiley + * @license MIT + */ + +use chillerlan\QRCode\Common\EccLevel; +use chillerlan\QRCode\Data\QRMatrix; +use chillerlan\QRCode\Output\QROutputInterface; +use chillerlan\QRCode\QRCode; +use chillerlan\QRCode\QROptions; + +require_once __DIR__.'/../vendor/autoload.php'; + +$options = new QROptions([ + 'outputType' => QROutputInterface::MARKUP_SVG, + 'imageBase64' => false, + 'svgAddXmlHeader' => false, + 'connectPaths' => true, + 'drawCircularModules' => false, + 'drawLightModules' => true, + 'addLogoSpace' => true, + 'eccLevel' => EccLevel::H, + 'logoSpaceWidth' => 11, + 'moduleValues' => [ + // finder + QRMatrix::M_FINDER_DARK => '#555', // dark (true) + QRMatrix::M_FINDER => '#ccc', // light (false) + QRMatrix::M_FINDER_DOT => '#555', + QRMatrix::M_FINDER_DOT_LIGHT => '#ccc', + // alignment + QRMatrix::M_ALIGNMENT_DARK => '#555', + QRMatrix::M_ALIGNMENT => '#ccc', + // timing + QRMatrix::M_TIMING_DARK => '#555', + QRMatrix::M_TIMING => '#ccc', + // format + QRMatrix::M_FORMAT_DARK => '#555', + QRMatrix::M_FORMAT => '#ccc', + // version + QRMatrix::M_VERSION_DARK => '#555', + QRMatrix::M_VERSION => '#ccc', + // data + QRMatrix::M_DATA_DARK => '#555', + QRMatrix::M_DATA => '#ccc', + // darkmodule + QRMatrix::M_DARKMODULE_LIGHT => '#ccc', + QRMatrix::M_DARKMODULE => '#555', + // separator + QRMatrix::M_SEPARATOR_DARK => '#555', + QRMatrix::M_SEPARATOR => '#ccc', + // quietzone + QRMatrix::M_QUIETZONE_DARK => '#555', + QRMatrix::M_QUIETZONE => '#ccc', + // logo space + QRMatrix::M_LOGO_DARK => '#555', + QRMatrix::M_LOGO => '#ccc', + ], +]); + +$qrcode = (new QRCode($options))->addByteSegment('https://www.youtube.com/watch?v=dQw4w9WgXcQ'); +$matrix = $qrcode->getQRMatrix(); + +// dump the output +header('Content-type: text/html'); + +?> + + + + + + QRCode Reflectance reversal Example + + + +
+ + renderMatrix($matrix); + echo $qrcode->renderMatrix($matrix->invert()); + ?> +
+ + +