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/bacon/bacon-qr-code/src/Renderer/Color/ |
<?php declare(strict_types = 1); namespace BaconQrCode\Renderer\Color; use BaconQrCode\Exception; final class Cmyk implements ColorInterface { /** * @var int */ private $cyan; /** * @var int */ private $magenta; /** * @var int */ private $yellow; /** * @var int */ private $black; /** * @param int $cyan the cyan amount, 0 to 100 * @param int $magenta the magenta amount, 0 to 100 * @param int $yellow the yellow amount, 0 to 100 * @param int $black the black amount, 0 to 100 */ public function __construct(int $cyan, int $magenta, int $yellow, int $black) { if ($cyan < 0 || $cyan > 100) { throw new Exception\InvalidArgumentException('Cyan must be between 0 and 100'); } if ($magenta < 0 || $magenta > 100) { throw new Exception\InvalidArgumentException('Magenta must be between 0 and 100'); } if ($yellow < 0 || $yellow > 100) { throw new Exception\InvalidArgumentException('Yellow must be between 0 and 100'); } if ($black < 0 || $black > 100) { throw new Exception\InvalidArgumentException('Black must be between 0 and 100'); } $this->cyan = $cyan; $this->magenta = $magenta; $this->yellow = $yellow; $this->black = $black; } public function getCyan() : int { return $this->cyan; } public function getMagenta() : int { return $this->magenta; } public function getYellow() : int { return $this->yellow; } public function getBlack() : int { return $this->black; } public function toRgb() : Rgb { $k = $this->black / 100; $c = (-$k * $this->cyan + $k * 100 + $this->cyan) / 100; $m = (-$k * $this->magenta + $k * 100 + $this->magenta) / 100; $y = (-$k * $this->yellow + $k * 100 + $this->yellow) / 100; return new Rgb( (int) (-$c * 255 + 255), (int) (-$m * 255 + 255), (int) (-$y * 255 + 255) ); } public function toCmyk() : Cmyk { return $this; } public function toGray() : Gray { return $this->toRgb()->toGray(); } }