原码笔记

原码笔记

织梦CMS二次开发缩略图变形的解决方法

小诸哥 0

下面给大家介绍织梦CMS加水印图片会变形的解决方法,修改代码前先备份源码,以免出错第一:

修改一个处理图片的函数位置:

/include/image.func.php

查找到:

if($srcW<=$toW&& $srcH<=$toH) returntrue;

大概在71行左右在下面加上:

if($srcW>$srcH){

$toWH=$toH/$toW;

$srcWH=$srcH/$srcW;

}

if(!$srcW>$srcH){

$toWH=$toW/$toH;

$srcWH=$srcW/$srcH;

}

意思不多说了,会php的朋友一看就明白,这个方法修改后的功能是可以按照图片的width和height的比例去缩放,如果这个图片的宽大于高就按已设定好的高来缩放图片,如果不大于,可以按已设定好的宽来缩放,我的网站上是正方形的,所以是这样设置的也可以根据你网站图片的大小来改这个判断if(!$srcW>$srcH)

//这个是如果宽不大于高按已设定的宽来缩放图片if($srcW>$srcH)//

这个是如果宽大于高按已设定的高来缩放图片注释:

说明一点这个自已可以根据需要去改,这个是判断的图片是发文章,文章内容的第一个图片的高和宽,设定好的高和宽是在后台的系统设置里改。

第一步:我的网站是正方形的,最大的是102*102的,我设的是102*102。

第二步:要修改的是网站的模板,也就是css的样式,还是以我网站上的为例:

<div>

<a alt="从早到晚巧妙的瘦身" href="/a/mr/jianfeimeiti/jianfeimiji/2011/0124/36.html">

<img border="0" alt="从早到晚巧妙的瘦身" src="/uploads/allimg/110124/2201462126-0-lp.jpg">

</a>

</div>

<style>

.img_top2 {border: 1px solid #CCCCCC;height: 102px;overflow: hidden;padding: 3px;width: 102px;}

</style>

第三步:修改的是标签源码 arclist.lib.php。找到:

$row['image'] ="<img src=".$row['picname']." border=0 width=$imgwidth height=$imgheight alt=".ereg_replace("['><]","",$row['title']).">";

这一行主要是说,如果你在标签里调用不设定图片的高和宽这个就成默认的:width="120px" height="120px"

在这一行下增加一个:

$row['image2'] = "<img src=".$row['picname']." border=0 alt=".ereg_replace("['><]","",$row['title']).">";

$row['imglink2'] = "<a href=".$row['filename']." alt=".$row['title'].">" .$row['image2']."</a>";

调用时写

{dede:arclist type='image' }

[field:imglink2/]

{/dede:arclist}

就是把默认的高和宽去了,出来的是原始的高和宽这样已经完成了,主要是给大家分享一个方法,最好修改时备份一份。

css部分不是太好修改主,主要是overflow: hidden;这个让多出设定好的不显示,这样水印就不显示了。

大家可以到我的网站上看看效果,主要是掌握方法

标签: 二次开发 织梦 缩略图