解决织梦CMS二次开发中缩略图变形问题的方法
织梦CMS二次开发缩略图变形的解决方法有以下几种: 1. 修改缩略图函数,将缩略图大小设置为固定值。 2. 修改模板文件,将缩略图大小设置为固定值。 3. 使用插件来处理缩略图变形问题。 4. 检查图片格式是否正确,如果不正确,可以使用在线工具进行转换。 5. 如果以上方法都无法解决问题,可以尝试重新安装织梦CMS系统。
下面给大家介绍织梦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><aalt=”从早到晚巧妙的瘦身”href=”/a/mr/jianfeimeiti/jianfeimiji/2011/0124/36.html”><imgborder=”0″alt=”从早到晚巧妙的瘦身”src=”/uploads/allimg/110124/2201462126-0-lp.jpg”></a></div><style>.img_top2{border:1pxsolid#CCCCCC;height:102px;overflow:hidden;padding:3px;width:102px;</style>
第三要修改的是标签源码 arclist.lib.php
找到:
$row['image']=“<imgsrc=’”.$row['picname'].”‘border=’0′width=’$imgwidth’height=’$imgheight’alt=’”.ereg_replace(“['><]“,”",$row['title']).”‘>”;
这一行主要是说,如果你在标签里调用不设定图片的高和宽这个就成默认的width=”120px” height=”120px”
在这一行下增加一个
$row['image2']=“<imgsrc=’”.$row['picname'].”‘border=’0′alt=’”.ereg_replace(“['><]“,”",$row['title']).”‘>”;$row['imglink2']=“<ahref=’”.$row['filename'].”‘alt=’”.$row['title'].”‘>”.$row['image2'].”</a>”;
调用时写
{dede:arclisttype=image.}[field:imglink2/]{/dede:arclist}
就是把默认的高和宽去了,出来的是原始的高和宽
这样已经完成了,主要是给大家分享一个方法,最好修改时备份一份。
css部分不是太好修改主,主要是overflow: hidden;这个让多出设定好的不显示,这样水印就不显示了。
大家可以到我的网站上看看效果,主要是掌握方法