DeDecms中實現(xiàn)更漂亮整齊的縮略圖的實現(xiàn)代碼
更新時間:2008年03月23日 17:58:24 作者:
dede的縮略圖被很多人投訴過,其原因是直接將原有的大圖限制塊寬度直接縮小或放大,如此一來自然縮略圖的效果非常差。本身php就允許對圖片進(jìn)行各種截取、重新生成、合并、壓縮等操作,因此為了追求完美,你可以參考下文。
剛開始使用DEDE不久,最初采集發(fā)現(xiàn)自動生成的縮略圖片其實是根據(jù)自定義的最大長寬,原比例的縮小原圖片,不利于圖片索引頁排版,不得已CSS里采用了自動判斷調(diào)整高寬—但比較耗資源。所以還是決定改改縮圖函數(shù)—-再次感謝DEDE的開源!!
修改文件:inc_photograph.php
if($toWH<=$srcWH){
$ftoW=$toW;
$ftoH=$ftoW*($srcH/$srcW);
}
else{
$ftoH=$toH;
$ftoW=$ftoH*($srcW/$srcH);
}
更改為
$ftoH=$toH;
$ftoW=$toW;
if ($toWH<=$srcWH) {
$src_Y = 0;
$src_X = ($srcW-$srcH*$toWH)/2;
$srcW = $srcH*$toWH;
} else {
$src_X = 0;
$src_Y = ($srcH-$srcW/$toWH)/2;
$srcH = $srcW/$toWH;
}
關(guān)鍵點:
($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH)
更改為
($ni,$im,0,0,$src_X,$src_Y,$ftoW,$ftoH,$srcW,$srcH)
其實就一小小改動,就是在原圖中截取最大面積的符合自定義縮略圖長寬比列的一部分生成縮略圖。
修改文件:inc_photograph.php
復(fù)制代碼 代碼如下:
if($toWH<=$srcWH){
$ftoW=$toW;
$ftoH=$ftoW*($srcH/$srcW);
}
else{
$ftoH=$toH;
$ftoW=$ftoH*($srcW/$srcH);
}
更改為
復(fù)制代碼 代碼如下:
$ftoH=$toH;
$ftoW=$toW;
if ($toWH<=$srcWH) {
$src_Y = 0;
$src_X = ($srcW-$srcH*$toWH)/2;
$srcW = $srcH*$toWH;
} else {
$src_X = 0;
$src_Y = ($srcH-$srcW/$toWH)/2;
$srcH = $srcW/$toWH;
}
關(guān)鍵點:
復(fù)制代碼 代碼如下:
($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH)
更改為
復(fù)制代碼 代碼如下:
($ni,$im,0,0,$src_X,$src_Y,$ftoW,$ftoH,$srcW,$srcH)
其實就一小小改動,就是在原圖中截取最大面積的符合自定義縮略圖長寬比列的一部分生成縮略圖。
相關(guān)文章
dedecms負(fù)載性能優(yōu)化實例,三招讓你的dedecms快10倍以上
對dedecms表現(xiàn)出來的相對較差的性能也感覺比較迷惑,到底是什么在制約其負(fù)載效率?難道真的是某些腦殘的dede論壇版主說的是因為mysql不堪重負(fù)的原因嗎?2008-09-09
DeDecms中利用關(guān)鍵詞實現(xiàn)簡單tag功能的php代碼
此方法的思路是直接調(diào)用dedecms每篇文章的關(guān)鍵詞,以此作為tag標(biāo)簽,在通過模板的編程為每個關(guān)鍵詞增加搜索鏈接,好處即為無需修改程序即可實現(xiàn)簡單的tag標(biāo)簽功能,實現(xiàn)方法參考如下:2008-03-03
DEDECMS后臺數(shù)據(jù)備份還原的應(yīng)用
前臺與測試過程--之備份與還原2009-02-02

