?
Path : /home/admin/domains/happytokorea.net/public_html/test/modules/mod_btslideshow/helpers/ |
Current File : /home/admin/domains/happytokorea.net/public_html/test/modules/mod_btslideshow/helpers/images.php |
<?php /** * @version $Id: images 1 Sep 13, 2011, 4:50:01 PM Thomas $ * @package BowThemes * @copyright Copyright (C) 2011 Bow Themes. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access defined('_JEXEC') or die; jimport( 'joomla.filesystem.file' ); if(!class_exists('BTImageHelper')) { class BTImageHelper extends JObject { static function getImageCreateFunction($type) { switch ($type) { case 'jpeg': case 'jpg': $imageCreateFunc = 'imagecreatefromjpeg'; break; case 'png': $imageCreateFunc = 'imagecreatefrompng'; break; case 'bmp': $imageCreateFunc = 'imagecreatefrombmp'; break; case 'gif': $imageCreateFunc = 'imagecreatefromgif'; break; case 'vnd.wap.wbmp': $imageCreateFunc = 'imagecreatefromwbmp'; break; case 'xbm': $imageCreateFunc = 'imagecreatefromxbm'; break; default: $imageCreateFunc = 'imagecreatefromjpeg'; } return $imageCreateFunc; } static function getImageSaveFunction($type) { switch ($type) { case 'jpeg': $imageSaveFunc = 'imagejpeg'; break; case 'png': $imageSaveFunc = 'imagepng'; break; case 'bmp': $imageSaveFunc = 'imagebmp'; break; case 'gif': $imageSaveFunc = 'imagegif'; break; case 'vnd.wap.wbmp': $imageSaveFunc = 'imagewbmp'; break; case 'xbm': $imageSaveFunc = 'imagexbm'; break; default: $imageSaveFunc = 'imagejpeg'; } return $imageSaveFunc; } static function resize($imgSrc, $imgDest, $dWidth, $dHeight, $crop = true, $quality = 100) { $info = getimagesize($imgSrc, $imageinfo); $sWidth = $info[0]; $sHeight = $info[1]; if ($sHeight / $sWidth > $dHeight / $dWidth) { $width = $sWidth; $height = round(($dHeight * $sWidth) / $dWidth); $sx = 0; $sy = round(($sHeight - $height) / 3); } else { $height = $sHeight; $width = round(($sHeight * $dWidth) / $dHeight); $sx = round(($sWidth - $width) / 2); $sy = 0; } if (!$crop) { $sx = 0; $sy = 0; $width = $sWidth; $height = $sHeight; } //echo "$sx:$sy:$width:$height";die(); $ext = str_replace('image/', '', $info['mime']); $imageCreateFunc = self::getImageCreateFunction($ext); $imageSaveFunc = self::getImageSaveFunction(JFile::getExt($imgDest)); $sImage = $imageCreateFunc($imgSrc); $dImage = imagecreatetruecolor($dWidth, $dHeight); // Make transparent if ($ext == 'png') { imagealphablending($dImage, false); imagesavealpha($dImage,true); $transparent = imagecolorallocatealpha($dImage, 255, 255, 255, 127); imagefilledrectangle($dImage, 0, 0, $nWidth, $nHeight, $transparent); } imagecopyresampled($dImage, $sImage, 0, 0, $sx, $sy, $dWidth, $dHeight, $width, $height); if ($ext == 'png') { $imageSaveFunc($dImage, $imgDest, 9); } else if ($ext == 'gif') { $imageSaveFunc($dImage, $imgDest); } else { $imageSaveFunc($dImage, $imgDest, $quality); } } static function createImage($imgSrc, $imgDest, $width, $height, $crop = true, $quality = 100) { if (JFile::exists($imgDest)) { $info = getimagesize($imgDest, $imageinfo); // Image is created if (($info[0] == $width) && ($info[1] == $height)) { return; } } self::resize($imgSrc, $imgDest, $width, $height, $crop, $quality); } } } ?>