PHP 缩放图片

WBOY
WBOYOriginal
2016-06-23 14:30:59892browse

对于网站前端上传的图片,在后台处理时有必要对其进行缩放以生成大小统一的 缩略图。在PHP中,可以很方便的使用GD库来完成这一任务。下面的CImage类的静态方法CreateThumbnail()函数可以接受原图像文件 名称,缩略图宽高,生成的缩略图文件名称等参数来生成保持原图纵横比的缩略图。函数基本上体现了PHP生成缩略图的方法,功能上还可以作进一步的扩充,如 根据缩略图文件名称来生成指定格式的缩略图。

完整代码如下(Win7+XAMPP2.5及Linuxdev 2.6.18-128+apache测试通过):

[php] view plain copy

//by MoreWindows (http://blog.csdn.net/MoreWindows )   class CImage   {       /**       * 生成保持原图纵横比的缩略图,支持.png .jpg .gif       * 缩略图类型统一为.png格式       * $srcFile     原图像文件名称       * $toW         缩略图宽       * $toH         缩略图高       * $toFile      缩略图文件名称,为空覆盖原图像文件       * @return bool          */       public static function CreateThumbnail($srcFile, $toW, $toH, $toFile="")        {           if ($toFile == "")           {                $toFile = $srcFile;            }           $info = "";           //返回含有4个单元的数组,0-宽,1-高,2-图像类型,3-宽高的文本描述。           //失败返回false并产生警告。           $data = getimagesize($srcFile, $info);           if (!$data)               return false;                      //将文件载入到资源变量im中           switch ($data[2]) //1-GIF,2-JPG,3-PNG           {           case 1:               if(!function_exists("imagecreatefromgif"))               {                   echo "the GD can't support .gif, please use .jpeg or .png! back";                   exit();               }               $im = imagecreatefromgif($srcFile);               break;                          case 2:               if(!function_exists("imagecreatefromjpeg"))               {                   echo "the GD can't support .jpeg, please use other picture! back";                   exit();               }               $im = imagecreatefromjpeg($srcFile);               break;                            case 3:               $im = imagecreatefrompng($srcFile);                   break;           }                      //计算缩略图的宽高           $srcW = imagesx($im);           $srcH = imagesy($im);           $toWH = $toW / $toH;           $srcWH = $srcW / $srcH;           if ($toWH 


 

转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/7062506

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php控制器四Next article:PHP函数之CURL