Copyright @ 2015-2024 织梦园 版权所有 Power by DedeCms
鲁ICP备15039853号-2

模板标签 TAG标签 网站地图 XML地图 今日更新 返回顶部
| 
function ImageResize($srcFile,$toW,$toH,$toFile="")  
{  
global $cfg_photo_type;  
if($toFile=="")  
{  
   $toFile = $srcFile;  
}  
$info = "";  
$srcInfo = GetImageSize($srcFile,$info);  
switch ($srcInfo[2])  
{  
   case 1:  
    if(!$cfg_photo_type['gif'])  
    {  
     return false;  
    }  
    $im = imagecreatefromgif($srcFile);  
    break;  
   case 2:  
    if(!$cfg_photo_type['jpeg'])  
    {  
     return false;  
    }  
    $im = imagecreatefromjpeg($srcFile);  
    break;  
   case 3:  
    if(!$cfg_photo_type['png'])  
    {  
     return false;  
    }  
    $im = imagecreatefrompng($srcFile);  
    break;  
   case 6:  
    if(!$cfg_photo_type['bmp'])  
    {  
     return false;  
    }  
    $im = imagecreatefromwbmp($srcFile);  
    break;  
}  
$srcW=ImageSX($im);  
$srcH=ImageSY($im);  
if($srcW<=$toW && $srcH<=$toH )  
{  
   return true;  
}  
//缩略生成并裁剪  
$newW = $toH * $srcW / $srcH;  
           $newH = $toW * $srcH / $srcW;  
if($newH >= $toH)  
{  
   $ftoW = $toW;  
   $ftoH = $newH;  
}  
else 
{  
                     $ftoW = $newW;  
   $ftoH = $toH;  
}  
           if($srcW>$toW||$srcH>$toH)  
{  
   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);  
   }  
   //裁剪图片成标准缩略图  
   $new_imgx = imagecreatetruecolor($toW,$toH);  
   if($newH >= $toH)  
   {  
    imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);  
   }  
   else 
   {  
    imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$toH);  
   }  
   switch ($srcInfo[2])  
   {  
    case 1:  
     imagegif($new_imgx,$toFile);  
     break;  
    case 2:  
     imagejpeg($new_imgx,$toFile,85);  
     break;  
    case 3:  
     imagepng($new_imgx,$toFile);  
     break;  
    case 6:  
     imagebmp($new_imgx,$toFile);  
     break;  
    default:  
     return false;  
   }  
   imagedestroy($new_imgx);  
   imagedestroy($ni);  
}  
imagedestroy($im);  
return true;  
} 
 |