{
$zooms = [1, 2, 4, 6, 8, 10, 12, 14, 16];
+ $types = ['normal', 'invert'];
foreach ($zooms as $zoom) {
$image = ZoomLink::generateImage([
], $compiler, 'qrcodereader', 'qrcode', false, false);
- $res = Cache::rememberForever('qrcode_' . hash('sha256', $image), function () use ($image) {
- try {
- $result = (new QRCode)->readFromFile($image);
- $stringRes = (string)$result;
- return $stringRes;
- } catch (\Exception $e) {
+ foreach ($types as $type) {
+ if ($type === 'invert') {
+ $invert = str_replace('.jpg', '.invert.jpg', $image);
+ `convert $image -channel RGB -negate $invert`;
+ $toscan = $invert;
+ } else {
+ $toscan = $image;
+ }
+
+ $res = Cache::rememberForever('qrcode_' . hash('sha256', $toscan), function () use ($toscan) {
+ try {
+ $result = (new QRCode)->readFromFile($toscan);
+ $stringRes = (string)$result;
+ return $stringRes;
+ } catch (\Exception $e) {
+ }
+ return '';
+ });
+ if ($res) {
+ return $res;
}
- return '';
- });
- if ($res) {
- return $res;
}
}