| Server IP : 54.233.248.239 / Your IP : 172.28.1.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/intervention/image/src/Intervention/Image/ |
Upload File : |
<?php
namespace Intervention\Image;
abstract class AbstractDriver
{
/**
* Decoder instance to init images from
*
* @var \Intervention\Image\AbstractDecoder
*/
public $decoder;
/**
* Image encoder instance
*
* @var \Intervention\Image\AbstractEncoder
*/
public $encoder;
/**
* Creates new image instance
*
* @param integer $width
* @param integer $height
* @param string $background
* @return \Intervention\Image\Image
*/
abstract public function newImage($width, $height, $background);
/**
* Reads given string into color object
*
* @param string $value
* @return AbstractColor
*/
abstract public function parseColor($value);
/**
* Checks if core module installation is available
*
* @return boolean
*/
abstract protected function coreAvailable();
/**
* Returns clone of given core
*
* @return mixed
*/
public function cloneCore($core)
{
return clone $core;
}
/**
* Initiates new image from given input
*
* @param mixed $data
* @return \Intervention\Image\Image
*/
public function init($data)
{
return $this->decoder->init($data);
}
/**
* Encodes given image
*
* @param Image $image
* @param string $format
* @param integer $quality
* @return \Intervention\Image\Image
*/
public function encode($image, $format, $quality)
{
return $this->encoder->process($image, $format, $quality);
}
/**
* Executes named command on given image
*
* @param Image $image
* @param string $name
* @param array $arguments
* @return \Intervention\Image\Commands\AbstractCommand
*/
public function executeCommand($image, $name, $arguments)
{
$commandName = $this->getCommandClassName($name);
$command = new $commandName($arguments);
$command->execute($image);
return $command;
}
/**
* Returns classname of given command name
*
* @param string $name
* @return string
*/
private function getCommandClassName($name)
{
$drivername = $this->getDriverName();
$classnameLocal = sprintf('\Intervention\Image\%s\Commands\%sCommand', $drivername, ucfirst($name));
$classnameGlobal = sprintf('\Intervention\Image\Commands\%sCommand', ucfirst($name));
if (class_exists($classnameLocal)) {
return $classnameLocal;
} elseif (class_exists($classnameGlobal)) {
return $classnameGlobal;
}
throw new \Intervention\Image\Exception\NotSupportedException(
"Command ({$name}) is not available for driver ({$drivername})."
);
}
/**
* Returns name of current driver instance
*
* @return string
*/
public function getDriverName()
{
$reflect = new \ReflectionClass($this);
$namespace = $reflect->getNamespaceName();
return substr(strrchr($namespace, "\\"), 1);
}
}