| Current Path : /var/www/element/data/www/vsl-gates.ru/manager/media/ImageEditor/Classes/ |
| Current File : /var/www/element/data/www/vsl-gates.ru/manager/media/ImageEditor/Classes/Thumbnail.php |
<?
/**
* Create thumbnails.
* @author $Author: Wei Zhuo $
* @version $Id: Thumbnail.php 26 2004-03-31 02:35:21Z Wei Zhuo $
* @package ImageManager
*/
require_once(dirname(__FILE__).'/Transform.php'); //Raymond:fix for PHP5 open_basedir
/**
* Thumbnail creation
* @author $Author: Wei Zhuo $
* @version $Id: Thumbnail.php 26 2004-03-31 02:35:21Z Wei Zhuo $
* @package ImageManager
* @subpackage Images
*/
class Thumbnail
{
/**
* Graphics driver, GD, NetPBM or ImageMagick.
*/
var $driver;
/**
* Thumbnail default width.
*/
var $width = 96;
/**
* Thumbnail default height.
*/
var $height = 96;
/**
* Thumbnail default JPEG quality.
*/
var $quality = 85;
/**
* Thumbnail is proportional
*/
var $proportional = true;
/**
* Default image type is JPEG.
*/
var $type = 'jpeg';
/**
* Create a new Thumbnail instance.
* @param int $width thumbnail width
* @param int $height thumbnail height
*/
function Thumbnail($width=96, $height=96)
{
$this->driver = Image_Transform::factory(IMAGE_CLASS);
$this->width = $width;
$this->height = $height;
}
/**
* Create a thumbnail.
* @param string $file the image for the thumbnail
* @param string $thumbnail if not null, the thumbnail will be saved
* as this parameter value.
* @return boolean true if thumbnail is created, false otherwise
*/
function createThumbnail($file, $thumbnail=null)
{
if(!is_file($file))
Return false;
//error_log('Creating Thumbs: '.$file);
$this->driver->load($file);
if($this->proportional)
{
$width = $this->driver->img_x;
$height = $this->driver->img_y;
if ($width > $height)
$this->height = intval($this->width/$width*$height);
else if ($height > $width)
$this->width = intval($this->height/$height*$width);
}
$this->driver->resize($this->width, $this->height);
if(is_null($thumbnail))
$this->save($file);
else
$this->save($thumbnail);
$this->free();
if(is_file($thumbnail))
Return true;
else
Return false;
}
/**
* Save the thumbnail file.
* @param string $file file name to be saved as.
*/
function save($file)
{
$this->driver->save($file);
}
/**
* Free up the graphic driver resources.
*/
function free()
{
$this->driver->free();
}
}
?>