婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網站建設 > 建站知識 > 使DEDECMS縮略圖不變形的方法

使DEDECMS縮略圖不變形的方法

POST TIME:2017-12-13 22:48

由于DEDECMS v5.6縮略圖生成方法是按比例進行放縮的,和之前的版本問題一樣,dedecms的官方也許根本沒有注意到,或者他們覺得這樣才是最好的縮略圖生成方式,這樣的話,如果圖片的寬高比例不合適,那么縮略圖將會被壓縮得很不好看,在這里,我是先對圖片進行按寬或高進行放縮,超過縮略圖大小的部分再進行裁剪,這樣生成的縮略圖的顯示效果要比原來的要好得多了。

于是重新修改了一下DEDECMS v5.6縮略圖生成方法。

默認dedecms5.6默認生成的縮略圖,縮略圖大小設置為:100*100(直接把圖片縮小了)

看起來很不美觀,影響了圖片的觀賞性

DEDECMS v5.6縮略圖裁剪優化方法:

修改如下:
打開/includes/image.func.php文件,
//縮圖片自動生成函數,來源支持bmp、gif、jpg、png
//但生成的小圖只用jpg或png格式
找到代碼第44行function ImageResize

//獲得GD的版本之間的代碼
,用如下的代碼覆蓋(大家請注意備份)。

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;
}



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 新竹市| 竹山县| 金沙县| 大荔县| 申扎县| 冕宁县| 平凉市| 鄂尔多斯市| 赤水市| 柘荣县| 北京市| 罗江县| 龙海市| 鲁山县| 平遥县| 绿春县| 海林市| 无棣县| 嵩明县| 许昌县| 化州市| 始兴县| 闽侯县| 明溪县| 军事| 桂阳县| 怀来县| 奉节县| 东山县| 诏安县| 黔东| 赫章县| 乳源| 喀喇沁旗| 德州市| 泾阳县| 穆棱市| 宜黄县| 灌云县| 隆尧县| 金昌市|