网络建站知识

精准传达 • 价值共享

洞悉互联网前沿资讯,探寻网站营销规律

织梦DedeCMS缩略图失真模糊的解决方法

作者:Smileby陌少羽 | 2018-08-11 10:45 |点击:

由于织梦DedeCMS默认只生成一个固定规格大小的缩略图,而往往在一个网站站不同页面内需要的缩略图大小不一致,比例不一致,这就造成了缩略图不清晰失真,不能满足大多数网站的需求,那么本文给出了一个终极完美解决方法。
修改方法:
一、要获得清晰的缩略图就要有足够大的图片并准确的剪裁,而下面的方法就是根据缩略图来进行剪裁的,所以就必须要保证原来的缩略图足够大,所以要进行一下设置:系统-附件设置,把缩略图默认宽度、默认高度设为大于等于你全站所有调用缩略图的最大尺寸,手工剪裁也请剪裁得足够大(不需要手工剪裁了)
二、打开 /include/extend.func.php 文件 (注:这个文件就是为二次开发准备的,用于功能方法扩展)
在最后一个 ?> 前加入以下代码
  1. function thumb($imgurl$width$height$bg = true)
  2. {
  3. global $cfg_mainsite,$cfg_multi_site;
  4. $thumb = eregi("http://",$imgurl)?str_replace($cfg_mainsite,'',$imgurl):$imgurl;
  5. list($thumbname,$extname) = explode('.',$thumb);
  6. $newthumb = $thumbname.'_'.$width.'_'.$height.'.'.$extname;
  7. if(!$thumbname || !$extname || !file_exists(DEDEROOT.$thumb)) return $imgurl;
  8. if(!file_exists(DEDEROOT.$newthumb))
  9. {
  10. include_once DEDEINC.'/image.func.php';
  11. if($bg==true)
  12. {
  13. ImageResizeNew(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb);
  14. }
  15. else
  16. {
  17. ImageResize(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb);
  18. }
  19. }
  20. return $cfg_multi_site=='Y'?$cfg_mainsite.$newthumb:$newthumb;
  21. }
调用方法:
  1. [field:picname function='thumb(@me,$width,$height,$bg)'/]
参数说明:
$width:缩略图宽度(整数)
$height:缩略图高度(整数)
$bg:是否用空白填补,默认自动填补,背景填充颜色在系统-附件设置里(true/false)
示例:
调用长宽为100像素的缩略图:[field:picname function='thumb(@me,100,100)'/]
保留原有比例,不自动填充(不建议):[field:picname function='thumb(@me,100,100,false)'/]
如没特殊注明,文章均为狐灵科技原创,转载请注明  https://www.hulingweb.cn/jzzs/203.html
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

网站设计 品牌营销

多一份参考,总有益处

联系狐灵科技,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:023-68168040 / 大客户专线:15523356218