diff options
Diffstat (limited to 'h-source/Library/Image/Gd/Thumbnail.php')
-rw-r--r-- | h-source/Library/Image/Gd/Thumbnail.php | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/h-source/Library/Image/Gd/Thumbnail.php b/h-source/Library/Image/Gd/Thumbnail.php index 742aa17..9bf2500 100644 --- a/h-source/Library/Image/Gd/Thumbnail.php +++ b/h-source/Library/Image/Gd/Thumbnail.php @@ -41,7 +41,9 @@ class Image_Gd_Thumbnail 'defaultImage' => null, 'cropImage' => 'no', 'horizAlign' => 'left', - 'vertAlign' => 'top' + 'vertAlign' => 'top', + 'resample' => 'yes', + 'function' => 'none', ); //set the $this->scaffold->params array @@ -144,10 +146,24 @@ class Image_Gd_Thumbnail //temp image $tmpImg = imagecreatetruecolor($newWidth, $newHeight); - //copy and resize - imagecopyresized($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height); + if ($this->params['resample'] === 'yes') + { + //copy and resample + imagecopyresampled($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height); + } + else + { + //copy and resize + imagecopyresized($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height); + } imagedestroy($img); $img = $tmpImg; + + if (!function_exists($this->params['function'])) { + throw new Exception('Error in <b>'.__METHOD__.'</b>: function <b>'.$this->params['function']. '</b> does not exist'); + } + + $img = call_user_func($this->params['function'],$img); } } @@ -159,7 +175,7 @@ class Image_Gd_Thumbnail //print the image header("Content-type: image/jpeg"); - imagejpeg($img); + imagejpeg($img,null,90); } |