Server : nginx/1.20.1 System : Linux iZ2ze9ojcl78uluczwag69Z 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64 User : www ( 1000) PHP Version : 7.3.28 Disable Function : passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/0531yanglao.com/vendor/endroid/qr-code/src/Writer/ |
<?php declare(strict_types=1); /* * (c) Jeroen van den Enden <info@endroid.nl> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace Endroid\QrCode\Writer; use Endroid\QrCode\QrCodeInterface; class EpsWriter extends AbstractWriter { public function writeString(QrCodeInterface $qrCode): string { $data = $qrCode->getData(); $epsData = []; $epsData[] = '%!PS-Adobe-3.0 EPSF-3.0'; $epsData[] = '%%BoundingBox: 0 0 '.$data['outer_width'].' '.$data['outer_height']; $epsData[] = '/F { rectfill } def'; $epsData[] = number_format($qrCode->getBackgroundColor()['r'] / 100, 2, '.', ',').' '.number_format($qrCode->getBackgroundColor()['g'] / 100, 2, '.', ',').' '.number_format($qrCode->getBackgroundColor()['b'] / 100, 2, '.', ',').' setrgbcolor'; $epsData[] = '0 0 '.$data['outer_width'].' '.$data['outer_height'].' F'; $epsData[] = number_format($qrCode->getForegroundColor()['r'] / 100, 2, '.', ',').' '.number_format($qrCode->getForegroundColor()['g'] / 100, 2, '.', ',').' '.number_format($qrCode->getForegroundColor()['b'] / 100, 2, '.', ',').' setrgbcolor'; // Please note an EPS has a reversed Y axis compared to PNG and SVG $data['matrix'] = array_reverse($data['matrix']); foreach ($data['matrix'] as $row => $values) { foreach ($values as $column => $value) { if (1 === $value) { $x = $data['margin_left'] + $data['block_size'] * $column; $y = $data['margin_left'] + $data['block_size'] * $row; $epsData[] = $x.' '.$y.' '.$data['block_size'].' '.$data['block_size'].' F'; } } } return implode("\n", $epsData); } public static function getContentType(): string { return 'image/eps'; } public static function getSupportedExtensions(): array { return ['eps']; } public function getName(): string { return 'eps'; } }