新聞中心
解決dedecms縮略圖無水印以及不失真
作者 / 無憂主機(jī) 時(shí)間 2015-12-28 13:48:19
無憂主機(jī)小編相信很多的站長朋友在php獨(dú)立ip虛擬主機(jī)安裝了dedecms。當(dāng)我們在設(shè)置縮略圖的時(shí)候,那么等顯示的時(shí)候出現(xiàn)了無水印的情況,直接是不顯示,或者是圖片時(shí)間變形了,其實(shí)這個(gè)也只是一個(gè)小小的bug,算不上是什么大事,但是我們想要的是等比例的縮放,而且圖片大的時(shí)候水印還顯示不出來,所以這個(gè)就是縮略圖沒有水印的原因了,那么這個(gè)問題,也只能靠修改代碼解決,還好的是有大神已經(jīng)解決了這個(gè)問題,所以我們只需要引用他的辦法即可,看看他是怎么解決的呢? 1、第一我們需要處理一下處理圖片的代碼,位置是在/include/image.func.php,然后找到一下代碼:
if($srcW<=$toW?&&?$srcH<=$toH?)?return?true;在其后面加入:
if($srcW>$srcH){ $toWH=$toH/$toW; $srcWH=$srcH/$srcW; } if(!$srcW>$srcH){ $toWH=$toW/$toH; $srcWH=$srcW/$srcH; }想想php程序大神們都能知道這段代碼的意思了吧,這個(gè)的意思就是讓其按照圖片的width和height的比例去縮放,如果高于了這個(gè),那么就按照設(shè)置的默認(rèn)來的。這個(gè)的設(shè)置根據(jù)自己的需求去修改就行了。最大的就是102*102,,所以在這個(gè)范圍內(nèi)絕對的是沒有問題的。 2、修改css樣式,具體的這個(gè)是在哪里,這個(gè)就要看您的這個(gè)是在哪里控制了哈,這個(gè)是沒有確實(shí)的位置的,那么小編這里只是講解一下即可,方法都是一樣的:
.img_top2 {border: 1px solid #CCCCCC;height: 95px;overflow: hidden;padding: 3px;width: 95px;小編這里只設(shè)置為95*95因?yàn)榫W(wǎng)站的需求,不能用到最大的,不然就整體不好看了。 3、修改標(biāo)簽源碼:arclist.lib.php,找到如下代碼:
$row['image'] = “<img src=’”.$row['picname'].”‘ border=’0′ width=’$imgwidth’ height=’$imgheight’ alt=’”.ereg_replace(“['><]“,”",$row['title']).”‘>”;在其后面加入一下代碼:
$row['image2'] = “<img src=’”.$row['picname'].”‘ border=’0′ alt=’”.ereg_replace(“['><]“,”",$row['title']).”‘>”; $row['imglink2'] = “<a href=’”.$row['filename'].”‘a(chǎn)lt=’”.$row['title'].”‘>”.$row['image2'].”</a>”;加入的這個(gè)時(shí)候的意思是,如果不設(shè)置的情況下默認(rèn)的就是102*102. 然后dedecms調(diào)用標(biāo)簽的時(shí)候就需要如下調(diào)用了:
{dede:arclist type=image. } [field:imglink2/] {/dede:arclist}好了就這樣我們就完美的解決了這個(gè)問題了,操作前一定要備份一下您的程序哈,方法是這樣的但是要靈活的運(yùn)用哈。 無憂主機(jī)相關(guān)文章推薦閱讀: DEDECMS增加父欄目調(diào)用的方法 織夢DEDECMS程序發(fā)布圖片后如何快速修改圖片的尺寸 織夢DEDECMS如何通過修改代碼來實(shí)現(xiàn)中文水印的解決方法
本文地址:http://www.gle-technology.com/dedecms/21177.html