<?php class Imagecut{ private $size_x; private $size_y; private $width;//源图像宽度 private $height;//源图像高度 private $image_alt; private $image_type; private $imagename; /* *$size_x:缩略图宽度 *$size_y:缩略图宽度 *$image_alt:缩略图显示的标题或名字 *$image_type:生成的缩略图的扩展名 */ function __construct($size_x,$size_y,$width,$height,$image_alt,$image_type,$imagename) { $this->size_x=$size_x; $this->size_y=$size_y; $this->width=$width; $this->height=$height; $this->image_alt=$image_alt; $this->image_type=$image_type; $this->imagename=$imagename; } /* * 这个根据源图像生成缩略图,支持gif,jpeg,png,bmp,wbmp,xbm,xpm格式的图像 * $imagedir:缩略图保存的目录 * $issave:是否保存到文件,true表示保存,false表示直接输出到浏览器 * 生成标准略缩图,直接压缩 */ function thumb($imagedir,$issave=true) { $imthumb=imagecreatetruecolor($this->size_x,$this->size_y); switch ($this->image_type) { case 1:$imsource=imagecreatefromgif($this->imagename);break; case 2:$imsource=imagecreatefromjpeg($this->imagename);break; case 3:$imsource=imagecreatefrompng($this->imagename);break; case 6:$imsource=imagecreatefrombmp($this->imagename);break; case 15:$imsource=imagecreatefromwbmp($this->imagename);break; case 16:$imsource=imagecreatefromxbm($this->imagename);break; case IMG_XPM:$imsource=imagecreatefromxpm($this->imagename);break; } imagecopyresampled($imthumb,$imsource,0,0,0,0,$this->size_x,$this->size_y,$this->width,$this->height); if($issave) { switch ($this->image_type) { case 1:imagegif($imthumb,$imagedir.$this->image_alt.".gif");break; case 2:imagejpeg($imthumb,$imagedir.$this->image_alt.".jpg");break; case 3:imagepng($imthumb,$imagedir.$this->image_alt.".png");break; case 6:imagebmp($imthumb,$imagedir.$this->image_alt.".bmp");break; case 15:imagewbmp($imthumb,$imagedir.$this->image_alt.".wbmp");break; case 16:imagexbm($imthumb,$imagedir.$this->image_alt.".xbm");break; case IMG_XPM:imagexpm($imthumb,$imagedir.$this->image_alt.".xpm");break; } } else { switch ($this->image_type) { case 1:header("content-type:image/gif/r/n");imagegif($imthumb);break; case 2:header("content-type:image/jpeg/r/n");imagejpeg($imthumb);break; case 3:header("content-type:image/png/r/n");imagepng($imthumb);break; case 6:header("content-type:image/bmp/r/n");imagebmp($imthumb);break; case 15:header("content-type:image/wbmp/r/n");imagewbmp($imthumb);break; case 16:header("content-type:image/xbmp/r/n");imagexbm($imthumb);break; case IMG_XPM:header("content-type:image/xpm/r/n");imagexpm($imthumb);break; } } imagedestroy($imthumb); } } ?>