首页 > php图像处理 > php生成缩略图代码

php生成缩略图代码

<?php
	/** 
	* 生成缩略图 
	* $srcName----为原图片路径 
	* $newWidth,$newHeight----分别缩略图的最大宽,高 
	* $newName----为缩略图文件名(含路径),默认为加入thumbnail 
	* @param string $srcName 
	* @param int $newWidth 
	* @param int $newHeight 
	* @param string $newName 
	* return viod 
	*/ 
	function resizeImg($srcName,$newWidth,$newHeight,$newName="") 
	{ 
	        if($newName=="") 
	        { 
	                $nameArr=explode('.',$srcName); 
	                $expName=array_pop($nameArr); 
	                $expName='thumbnail.'.$expName; 
	                array_push($nameArr,$expName); 
	                $newName = implode('.',$nameArr); 
	        } 
	        $info = ""; 
	        $data = getimagesize($srcName,$info); 
	        switch ($data[2]) 
	        { 
	                case 1: 
	                        if(!function_exists("imagecreatefromgif")){ 
	                                echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回"; 
	                                exit(); 
	                        } 
	                        $im = ImageCreateFromGIF($srcName); 
	                        break; 
	                case 2: 
	                        if(!function_exists("imagecreatefromjpeg")){ 
	                                echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回"; 
	                                exit(); 
	                        } 
	                        $im = ImageCreateFromJpeg($srcName); 
	                        break; 
	                case 3: 
	                        $im = ImageCreateFromPNG($srcName); 
	                        break; 
	        } 
	        $srcW=ImageSX($im); 
	        $srcH=ImageSY($im); 
	        $newWidthH=$newWidth/$newHeight; 
	        $srcWH=$srcW/$srcH; 
	        if($newWidthH<=$srcWH){ 
	                $ftoW=$newWidth; 
	                $ftoH=$ftoW*($srcH/$srcW); 
	        } 
	        else{ 
	                $ftoH=$newHeight; 
	                $ftoW=$ftoH*($srcW/$srcH); 
	        } 
	        if($srcW>$newWidth||$srcH>$newHeight) 
	        { 
	                if(function_exists("imagecreatetruecolor")) 
	                { 
	                        @$ni = ImageCreateTrueColor($ftoW,$ftoH); 
	                        if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 
	                        else 
	                        { 
	                                $ni=ImageCreate($ftoW,$ftoH); 
	                                ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 
	                        } 
	                } 
	                else 
	                { 
	                        $ni=ImageCreate($ftoW,$ftoH); 
	                        ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 
	                } 
	                if(function_exists('imagejpeg')) ImageJpeg($ni,$newName); 
	                else ImagePNG($ni,$newName); 
	                ImageDestroy($ni); 
	        } 
	        ImageDestroy($im); 
	} 
	//开源代码phprm.com 
	resizeImg('123.JPG',150,150); 
	 

本文地址:http://www.phprm.com/tuxiang/fs4510.html

转载随意,但请附上文章地址:-)

标签:实现程序 php生成缩略图

相关文章

发表留言