一、首先在后臺(tái)基本參數(shù)添加2個(gè)字段 :cfg_imgresize,cfg_maxwidth
二、打開(kāi) include/dialog/select_images_post.php 大約63行找到
move_uploaded_file($imgfile, $fullfilename) or die("上傳文件到 $fullfilename 失敗!");??!
后面添加
$imgw=getimagesize($fullfilename);
if($cfg_imgresize=='Y' && $imgw[0]>$cfg_maxwidth){
ImageResize2($fullfilename,$cfg_maxwidth);
}
三、打開(kāi) include/helpers/image.helper.php 在最后面添加
/**
* 圖片等比例縮小,來(lái)源支持bmp、gif、jpg、png
* 但生成的小圖只用jpg或png格式
*
* @access public
* @param string $srcFile 圖片路徑
* @param string $toW 最大寬度,超出自動(dòng)縮放為此寬度
* @param string $toFile 輸出文件到
* @return string
*/
if ( ! function_exists('ImageResize2'))
{
function ImageResize2($srcFile, $toW, $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) return TRUE;
$toWH= $srcWH=$srcW/$srcH;
$ftoW=$toW;
$ftoH=$toW/$toWH;
if($srcW>$toW)
{
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);
}
switch ($srcInfo[2])
{
case 1:
imagegif($ni,$toFile);
break;
case 2:
imagejpeg($ni,$toFile,100);
break;
case 3:
imagepng($ni,$toFile);
break;
case 6:
imagebmp($ni,$toFile);
break;
default:
return FALSE;
}
imagedestroy($ni);
}
imagedestroy($im);
return TRUE;
}
}
就可以實(shí)現(xiàn) dedecms在上傳圖片時(shí)寬度過(guò)大自動(dòng)等比例壓縮!
這樣就再也不用擔(dān)心上傳的圖片太大了!也不用很麻煩的一張張手動(dòng)修改了!
如果要上傳超過(guò)設(shè)置的寬度的大圖的話,請(qǐng)到基本參數(shù)關(guān)閉 “圖片等比例縮小”,設(shè)置為 否,保存即可! 或者使用FTP等工具上傳!
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: dedecms上傳圖片時(shí),圖片寬度過(guò)大自動(dòng)按比例縮小,不變形