diff options
Diffstat (limited to 'h-source/admin/Library/Image/Gd/Thumbnail.php')
-rw-r--r-- | h-source/admin/Library/Image/Gd/Thumbnail.php | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/h-source/admin/Library/Image/Gd/Thumbnail.php b/h-source/admin/Library/Image/Gd/Thumbnail.php deleted file mode 100644 index 5981175..0000000 --- a/h-source/admin/Library/Image/Gd/Thumbnail.php +++ /dev/null @@ -1,151 +0,0 @@ -<?php - -// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -// See COPYRIGHT.txt and LICENSE.txt. - -if (!defined('EG')) die('Direct access not allowed!'); - -//class to create a thumbnail -class Image_Gd_Thumbnail -{ - const DS = DIRECTORY_SEPARATOR; - - private $params = array(); //parameters of the object - private $basePath = null; //the path of the folder inside which the images are saved - - public function __construct($basePath,$params = null) - { - $finalChar = $basePath[strlen($basePath) - 1]; - if (strcmp($finalChar,self::DS) !== 0) $basePath .= self::DS; - - $this->basePath = $basePath; - - $defaultParams = array( - 'imgWidth' => 100, - 'imgHeight' => 100, - 'defaultImage' => null, - 'cropImage' => 'no', - 'horizAlign' => 'left', - 'vertAlign' => 'top' - ); - - //set the $this->scaffold->params array - if (is_array($params)) - { - foreach ($params as $key => $value) - { - $defaultParams[$key] = $value; - } - } - $this->params = $defaultParams; - } - - //create the thumbnail - //$imageName: the name of the file inside $this->basePath - public function render($imageFile) - { - $imagePath = $this->basePath . basename($imageFile); - - if (!file_exists($imagePath) and isset($this->params['defaultImage'])) $imagePath = $this->params['defaultImage']; - - $img = null; - $ext = strtolower(end(explode('.', $imagePath))); - - if (strcmp($ext,'jpg') === 0 or strcmp($ext,'jpeg') === 0) { - $img = @imagecreatefromjpeg($imagePath); - } else if (strcmp($ext,'png') === 0) { - $img = @imagecreatefrompng($imagePath); - } else if (strcmp($ext,'gif') === 0) { - $img = @imagecreatefromgif($imagePath); - } - - //If an image was successfully loaded, test the image for size - if ($img) { - //image size - $width = imagesx($img); - $height = imagesy($img); - - if ($this->params['cropImage'] === 'no') - { - $scale = min($this->params['imgWidth']/$width, $this->params['imgHeight']/$height); - } - else if ($this->params['cropImage'] === 'yes') - { - $scale = max($this->params['imgWidth']/$width, $this->params['imgHeight']/$height); - } - - if ($scale < 1) { - - $xSrc = 0; - $ySrc = 0; - - if ($this->params['cropImage'] === 'no') - { - $newWidth = floor($scale*$width); - $newHeight = floor($scale*$height); - } - else if ($this->params['cropImage'] === 'yes') - { - - $newWidth = $this->params['imgWidth']; - $newHeight = $this->params['imgHeight']; - $oldWidth = $width; - $oldHeight = $height; - $width = floor($newWidth/$scale); - $height = floor($newHeight/$scale); - - switch ($this->params['horizAlign']) - { - case 'left': - $xSrc = 0; - break; - case 'right': - $xSrc = floor(($oldWidth-$width)); - break; - case 'center': - $xSrc = floor(($oldWidth-$width)/2); - break; - default: - $xSrc = $this->params['horizAlign']; - } - - switch ($this->params['vertAlign']) - { - case 'top': - $ySrc = 0; - break; - case 'bottom': - $ySrc = floor(($oldHeight-$height)); - break; - case 'center': - $ySrc = floor(($oldHeight-$height)/2); - break; - default: - $ySrc = $this->params['vertAlign']; - } - - } - - //temp image - $tmpImg = imagecreatetruecolor($newWidth, $newHeight); - - //copy and resize - imagecopyresized($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height); - imagedestroy($img); - $img = $tmpImg; - } - - } - - if (!$img) { - $img = imagecreate($this->params['imgWidth'], $this->params['imgHeight']); - imagecolorallocate($img,200,200,200); - } - - //print the image - header("Content-type: image/jpeg"); - imagejpeg($img); - - } - -}
\ No newline at end of file |