一个创建图片缩略图的函数

发布时间:2019-09-08编辑:脚本学堂
一个创建图片缩略图的函数:thumb,有需要的朋友可以参考下。

一个创建图片缩略图的函数:thumb,有需要的朋友可以参考下。
 

复制代码 代码如下:

<?php
/**
  * 创建图片缩略图,成功返回真
  *
  * @param string $cat      目录
  * @param string $oldname  原图文件名
  * @param string $newname  新图文件名
  * @param int $width       缩略图宽
  * @param int $height      缩略图高
  * @return
  */
function thumb($cat,$oldname,$newname,$width=160,$height=120){
  $srcFile = $cat. "/" .$oldname;
  $data = getimagesize($srcFile);
  $dscFile = $cat. "/". $newname;

   switch ($data[2]) {
    case 1:
    $im = imagecreatefromgif($srcFile);
    break;

    case 2:
    $im = imagecreatefromjpeg($srcFile);
    break;

    case 3:
    $im = imagecreatefrompng($srcFile);
    break;
   }

   $srcW=imagesx($im);
   $srcH=imagesy($im);

   if(($srcW/$width)>=($srcH/$height)){
    $temp_height=$height;
    $temp_width=$srcW/($srcH/$height);
    $src_X=abs(($width-$temp_width)/2);
    $src_Y=0;
   }
   else{
    $temp_width=$width;
    $temp_height=$srcH/($srcW/$width);
    $src_X=0;
    $src_Y=abs(($height-$temp_height)/2);
   }

   $temp_img=imagecreatetruecolor($temp_width,$temp_height);
   imagecopyresized($temp_img,$im,0,0,0,0,$temp_width,$temp_height,$srcW,$srcH);

   $ni=imagecreatetruecolor($width,$height);
   imagecopyresized($ni,$temp_img,0,0,$src_X,$src_Y,$width,$height,$width,$height);
   $cr = imagejpeg($ni,$dscFile);

   if ($cr){
    chmod($dscFile, 0777);
    return true;
   }
}
?>

您可能感兴趣的文章:
php 多图片上传的简单例子(图文)
php GD库上传图片并创建缩略图的代码
又一个生成图片缩略图的函数
php图片加水印与上传图片加水印类
php为图片加中文水印的代码
php上传文件并添加文字与图片水印的代码
php 上传图片加水印且支持透明的代码
php上传图片功能的实现