From 4ab53d145bec440529a6304f470eb952a40eec6b Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 29 Dec 2008 23:25:28 +0000 Subject: Create Image::composite() and implement it in GD, ImageMagick and GraphicsMagick drivers. --- kohana/libraries/drivers/Image/GD.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'kohana/libraries/drivers/Image/GD.php') diff --git a/kohana/libraries/drivers/Image/GD.php b/kohana/libraries/drivers/Image/GD.php index c3789b6d..24657c56 100644 --- a/kohana/libraries/drivers/Image/GD.php +++ b/kohana/libraries/drivers/Image/GD.php @@ -331,6 +331,28 @@ class Image_GD_Driver extends Image_Driver { return imageconvolution($this->tmp_image, $matrix, $amount - 8, 0); } + public function composite($properties) + { + switch($properties['mime']) + { + case "image/jpeg": + $overlay_img = imagecreatefromjpeg($properties['overlay_file']); + break; + + case "image/gif": + $overlay_img = imagecreatefromgif($properties['overlay_file']); + break; + + case "image/png": + $overlay_img = imagecreatefrompng($properties['overlay_file']); + break; + } + + imagecopymerge($this->tmp_image, $overlay_img, $properties['x'], $properties['y'], 0, 0, imagesx($overlay_img), imagesy($overlay_img), $properties['transparency']); + imagedestroy($overlay_img); + return TRUE; + } + protected function properties() { return array(imagesx($this->tmp_image), imagesy($this->tmp_image)); -- cgit v1.2.3