首页 教程资源正文

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

娜迦源码 教程资源 2019-04-07 01:25:35 336 0 教程资源

由于dede默认只生成一个规格大小的缩略图,而往往在一个站不同页面内需要的缩略图大小不一致,比例不一致,这就造成了缩略图不清晰,失真,下面提供的方法就完美解决了这个问题。 

使用方法: 

一、要获得清晰的缩略图就要有足够大的图片并准确的剪裁,而下面的方法就是根据缩略图来进行剪裁的(因原图部分网站有水印),所以就必须要保证原来的缩略图足够大,所以要进行一下设置:系统-附件设置,把缩略图默认宽度、默认高度设为大于等于你全站所有调用缩略图的最大尺寸,手工剪裁也请剪裁得足够大(不需要手工剪裁了) 

二、打开include/extend.func.php (注:这个文件就是为二次开发准备的,用于功能方法扩展) 

在最后一个 ?> 前加入以下代码 

复制代码 
代码如下: 

function thumb($imgurl, $width, $height, $bg = true) 

global $cfg_mainsite,$cfg_multi_site; 
$thumb = eregi("http://",$imgurl)?str_replace($cfg_mainsite,'',$imgurl):$imgurl; 
list($thumbname,$extname) = explode('.',$thumb); 
$newthumb = $thumbname.'_'.$width.'_'.$height.'.'.$extname; 
if(!$thumbname || !$extname || !file_exists(DEDEROOT.$thumb)) return $imgurl; 
if(!file_exists(DEDEROOT.$newthumb)) 

include_once DEDEINC.'/image.func.php'; 
if($bg==true) 

ImageResizeNew(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb); 

else 

ImageResize(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb); 


return $cfg_multi_site=='Y'?$cfg_mainsite.$newthumb:$newthumb; 


调用方法: 

标签 : [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)'/]

版权声明

1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。

2:请勿将该源码、软件进行商业交易、转载等行为,该源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。

3:本网站所有源码和软件均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:393249296@qq.com)指出,本站将立即改正。

本文链接:https://www.wsx6.cn/post/1057.html

分享:

支付宝

微信

嘿,我是客服
请先 登录 再评论,若不是会员请先 注册