欢迎各位兄弟 发布技术文章
这里的技术是共享的
如何将织梦dedecms指定的图片自动生成指定尺寸的小图、缩略图、图片的方法。
对于普通企业网站来讲,织梦原来的程序只是提供了一个缩略图,但是这样对于一些相对来说图片会比较多的网站来说,图片太大当缩略图会导致网站整体的访问速度,所以我今天就来教你织梦把一张大图转换成生成一张小图或者缩略图。
首先这个方法只是针对网站本地的图片,暂不支持外链的图片!如果你需要到外链图片也支持,可以单独联系站长,联系方式可以在关于本站里面找到。
下面,我们就来说下详细的操作:
一,打开include/extend.func.php 这个文件,然后在最尾处加入以下代码。
//生成小图或者缩略图方法。 |
//$picname => 原始图片的地址 |
//$width => 想要生成缩略图的宽 |
//$height => 想要生成缩略图的高 |
//返回生成好的小图地址 |
function MakeImgThumb($picname,$width,$height){ |
global $cfg_basedir; |
$oldpic = $cfg_basedir.$picname; |
$litpic = str_replace('.', '-lp.', $picname); |
if(!preg_match("#^http:\/\/#i", $oldpic)){ |
$info = ''; |
$srcInfo = GetImageSize($oldpic,$info); |
if($srcInfo[0]<=$width && $srcInfo[1]<=$height) return $picname; |
if(!is_file($cfg_basedir.$litpic)) |
{ |
require_once(DEDEINC.'/image.func.php'); |
if($GLOBALS['cfg_ddimg_full']=='Y'){ |
@ImageResizeNew($oldpic,$width,$height,$cfg_basedir.$litpic); |
} |
else{ |
@ImageResize($oldpic,$width,$height,$cfg_basedir.$litpic); |
} |
if(!is_file($cfg_basedir.$litpic)) $litpic = $picname; |
} |
} |
return $litpic; |
} |
二、方法添加好后我们就可以来试一下生成了,回到前台文件页面,然后调用缩略图的时候加个方法进去就可以生成小图或者缩略图了,如下
<img src="[field:imgsrc function="[field:imgsrc function="MakeImgThumb(@me,'300','190')"/]" width="300" height="190" /> |
三、生成一下页面就可以直接生成了缩略图了。
温馨提示:要生成的缩略图宽和高不能同时小于原本的图片尺寸。
希望这个方法对你有所帮助
来自 http://www.ysweb.cn/bcl/dedecms/2014/0313/17.html