PHP 缩放图片

WBOY
WBOYOriginal
2016-06-23 14:30:59897Durchsuche

对于网站前端上传的图片,在后台处理时有必要对其进行缩放以生成大小统一的 缩略图。在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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php控制器四Nächster Artikel:PHP函数之CURL