織夢DedeCms5.7縮略圖變形解決方法
來源:本站原創(chuàng)|時間:2021-08-05|欄目:dedecms|點擊: 次
文章介紹
織夢的縮略圖變形的問題一直為很多人所詬病,不過這個可以自己修改縮略圖解決,只是工程量非常的大。即使是織夢DedeCMS5.7版本,也會存在縮略圖變形失真的問題??棄鬌edeCMS縮略圖生成方式都是采用縮小或拉伸的方式進行完整顯示,如果使用的圖片和縮略圖所顯示的比例不一致的話,會使得縮略圖拉伸變形。
如何解決織夢DedeCMS5.7縮略圖變形的問題呢?還是修改織夢獲取縮略圖的函數(shù)。DedeCMS5.7的函數(shù)是在/include/helpers/文件夾中的image.helper.php里面。修改之前,一定要先對對應的文件進行備份,防止造成無法預料的程序錯誤。先找到如下的代碼:
$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW<=$toW && $srcH<=$toH )
return TRUE;
$toWH=$toW/$toH;
$srcWH=$srcW/$srcH;
if($toWH<=$srcWH){
$ftoW=$toW;
$ftoH=$ftoW*($srcH/$srcW);
}
else
{
$ftoH=$toH;
$ftoW=$ftoH*($srcW/$srcH);
}
把這部分代碼修改為如下的代碼:
$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW<=$toW && $srcH<=$toH )
return TRUE;
$toWH=$toW/$toH;
$srcWH=$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;
}
對比兩部分代碼,我們就能看到區(qū)別所在了。多了判斷圖片的面積等內容,這樣就可以實現(xiàn)對圖片進行按寬或高進行放縮,超過縮略圖大小的部分再進行裁剪的功能。經(jīng)過這樣處理得到的縮略圖比織夢默認的縮略圖要清晰很多,除了上面已經(jīng)提到的缺點外。
您可能感興趣的文章
- 08-05Dedecms文件目錄結構解說(能知道織夢每個文件有什么用)
- 08-05Dedecms5.7版ckeditor網(wǎng)頁編輯器添加中文字體
- 08-05織夢DedeCMS獲取當前欄目文章數(shù)量
- 08-05織夢模板如何添加和調用自定義字段的方法
- 08-05織夢DedeCMS調用顯示discuz里面主題的方法
- 08-05限制織夢會員每天投稿數(shù)量方法
- 08-05常用的織夢dedecms安全設置集合整理
- 08-05織夢教程:后臺編輯器添加中文字體方法
- 08-05織夢修改文章排序到第一位如何解決?
- 08-05dede副欄目調用支持arclist標簽