[ Index ] |
|
Code source de CMS made simple 1.0.5 |
1 <?php 2 /** 3 * Create thumbnails. 4 * @author $Author: Wei Zhuo $ 5 * @version $Id: Thumbnail.php 2114 2005-11-04 21:51:13Z wishy $ 6 * @package ImageManager 7 */ 8 9 10 require_once ('Transform.php'); 11 12 /** 13 * Thumbnail creation 14 * @author $Author: Wei Zhuo $ 15 * @version $Id: Thumbnail.php 2114 2005-11-04 21:51:13Z wishy $ 16 * @package ImageManager 17 * @subpackage Images 18 */ 19 class Thumbnail 20 { 21 /** 22 * Graphics driver, GD, NetPBM or ImageMagick. 23 */ 24 var $driver; 25 26 /** 27 * Thumbnail default width. 28 */ 29 var $width = 96; 30 31 /** 32 * Thumbnail default height. 33 */ 34 var $height = 96; 35 36 /** 37 * Thumbnail default JPEG quality. 38 */ 39 var $quality = 85; 40 41 /** 42 * Thumbnail is proportional 43 */ 44 var $proportional = true; 45 46 /** 47 * Default image type is JPEG. 48 */ 49 var $type = 'jpeg'; 50 51 /** 52 * Create a new Thumbnail instance. 53 * @param int $width thumbnail width 54 * @param int $height thumbnail height 55 */ 56 function Thumbnail($width=96, $height=96) 57 { 58 $this->driver = Image_Transform::factory(IMAGE_CLASS); 59 $this->width = $width; 60 $this->height = $height; 61 } 62 63 /** 64 * Create a thumbnail. 65 * @param string $file the image for the thumbnail 66 * @param string $thumbnail if not null, the thumbnail will be saved 67 * as this parameter value. 68 * @return boolean true if thumbnail is created, false otherwise 69 */ 70 function createThumbnail($file, $thumbnail=null) 71 { 72 if(!is_file($file)) 73 Return false; 74 75 //error_log('Creating Thumbs: '.$file); 76 77 $this->driver->load($file); 78 79 if($this->proportional) 80 { 81 $width = $this->driver->img_x; 82 $height = $this->driver->img_y; 83 84 if ($width > $height) 85 $this->height = intval($this->width/$width*$height); 86 else if ($height > $width) 87 $this->width = intval($this->height/$height*$width); 88 } 89 90 $this->driver->resize($this->width, $this->height); 91 92 if(is_null($thumbnail)) 93 $this->save($file); 94 else 95 $this->save($thumbnail); 96 97 98 $this->free(); 99 100 if(is_file($thumbnail)) 101 Return true; 102 else 103 Return false; 104 } 105 106 /** 107 * Save the thumbnail file. 108 * @param string $file file name to be saved as. 109 */ 110 function save($file) 111 { 112 $this->driver->save($file); 113 } 114 115 /** 116 * Free up the graphic driver resources. 117 */ 118 function free() 119 { 120 $this->driver->free(); 121 } 122 } 123 124 125 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Tue Apr 3 18:50:37 2007 | par Balluche grâce à PHPXref 0.7 |