dedecms 5.6 縮略圖按大小比例縮小裁剪,織夢教程
導讀:織夢教程織夢教程由于DEDECMS v5.6縮略圖生成方法是按比例進行放縮的,和之前的版本問題一樣,dedecms的官方也許根本沒有注意到,或者他們覺得這樣才是最好的縮略圖生成手機模板dede。
這樣的話,如果圖片的寬高比例不合適,那么縮略圖將會被壓縮得很不好看,在這里,我是先對圖片進行按寬或高進行放縮,超過縮略圖大小的部分再進行裁剪,這樣生成的縮略圖的顯示效果要比原來的要好得多了。 于是重新修改了一下DEDECMS v5.6縮略圖生成方法。 默認dedecms5.6默認生成的縮略圖,縮略圖大小設(shè)置為:100*100(直接把圖片縮小了) 看起來很不美觀,影響了圖片的觀賞性 DEDECMS v5.6縮略圖裁剪優(yōu)化方法 修改如下: 打開/includes/image.func.php文件, //縮圖片自動生成函數(shù),來源支持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; }相關(guān)手機模板dede。
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-07-21 ,文章dedecms 5.6 縮略圖按大小比例縮小裁剪,織夢教程主要講述縮略圖,比例,織夢網(wǎng)站建設(shè)源碼以及服務器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_33278.html