Cheetah
Driver.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Intervention\Image\Gd;
4 
5 use \Intervention\Image\Size;
6 
8 {
15  public function __construct(Decoder $decoder = null, Encoder $encoder = null)
16  {
17  if ( ! $this->coreAvailable()) {
18  throw new \Intervention\Image\Exception\NotSupportedException(
19  "GD Library extension not available with this PHP installation."
20  );
21  }
22 
23  $this->decoder = $decoder ? $decoder : new Decoder;
24  $this->encoder = $encoder ? $encoder : new Encoder;
25  }
26 
35  public function newImage($width, $height, $background = null)
36  {
37  // create empty resource
38  $core = imagecreatetruecolor($width, $height);
39  $image = new \Intervention\Image\Image(new self, $core);
40 
41  // set background color
42  $background = new Color($background);
43  imagefill($image->getCore(), 0, 0, $background->getInt());
44 
45  return $image;
46  }
47 
54  public function parseColor($value)
55  {
56  return new Color($value);
57  }
58 
64  protected function coreAvailable()
65  {
66  return (extension_loaded('gd') && function_exists('gd_info'));
67  }
68 
74  public function cloneCore($core)
75  {
76  $width = imagesx($core);
77  $height = imagesy($core);
78  $clone = imagecreatetruecolor($width, $height);
79  imagealphablending($clone, false);
80  imagesavealpha($clone, true);
81 
82  imagecopy($clone, $core, 0, 0, 0, 0, $width, $height);
83 
84  return $clone;
85  }
86 }
Intervention\Image\Gd\Driver\__construct
__construct(Decoder $decoder=null, Encoder $encoder=null)
Definition: Driver.php:15
php
Intervention\Image\Gd
Definition: Color.php:3
Intervention\Image\Gd\Encoder
Definition: Encoder.php:6
Intervention\Image\Gd\Driver\coreAvailable
coreAvailable()
Definition: Driver.php:64
Intervention\Image\Gd\Driver\cloneCore
cloneCore($core)
Definition: Driver.php:74
Intervention\Image\Gd\Driver\newImage
newImage($width, $height, $background=null)
Definition: Driver.php:35
Intervention\Image\Gd\Driver
Definition: Driver.php:8
Intervention\Image\Gd\Driver\parseColor
parseColor($value)
Definition: Driver.php:54
Intervention\Image\Gd\Color
Definition: Color.php:8
Intervention\Image\AbstractDriver
Definition: AbstractDriver.php:6
Intervention\Image\Gd\Decoder
Definition: Decoder.php:9
Intervention\Image\AbstractDriver\$decoder
$decoder
Definition: AbstractDriver.php:12
Intervention\Image\AbstractDriver\$encoder
$encoder
Definition: AbstractDriver.php:19