<?php
namespace Intervention\Image\Imagick;
use Intervention\Image\AbstractDriver;
use Intervention\Image\Exception\NotSupportedException;
use Intervention\Image\Image;
class Driver extends AbstractDriver
{
/**
* Creates new instance of driver
*
* @param Decoder $decoder
* @param Encoder $encoder
*/
public function __construct(Decoder $decoder = null, Encoder $encoder = null)
{
if ( ! $this->coreAvailable()) {
throw new NotSupportedException(
"ImageMagick module not available with this PHP installation."
);
}
$this->decoder = $decoder ? $decoder : new Decoder;
$this->encoder = $encoder ? $encoder : new Encoder;
}
/**
* Creates new image instance
*
* @param int $width
* @param int $height
* @param mixed $background
* @return \Intervention\Image\Image
*/
public function newImage($width, $height, $background = null)
{
$background = new Color($background);
// create empty core
$core = new \Imagick;
$core->newImage($width, $height, $background->getPixel(), 'png');
$core->setType(\Imagick::IMGTYPE_UNDEFINED);
$core->setImageType(\Imagick::IMGTYPE_UNDEFINED);
$core->setColorspace(\Imagick::COLORSPACE_UNDEFINED);
// build image
$image = new Image(new static, $core);
return $image;
}
/**
* Reads given string into color object
*
* @param string $value
* @return AbstractColor
*/
public function parseColor($value)
{
return new Color($value);
}
/**
* Checks if core module installation is available
*
* @return boolean
*/
protected function coreAvailable()
{
return (extension_loaded('imagick') && class_exists('Imagick'));
}
}
How To Payment
Making a payment on our website is quick and secure. Start by logging in or creating an account. Select your preferred payment method, input the required details, and review the information. Once you confirm everything is correct, click on the "Submit Payment" button. You’ll receive instant confirmation and can track your payment status through your account dashboard. It’s an easy and secure process.