完美解决织梦dedecms生成的缩略图模糊不清晰的办法

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

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

使用方法:

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

二、打开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)'/]

相关阅读:

织梦CMS幻灯片调用图片模糊解决办法

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
在使用织梦发布远程图片时,发现有的图片地址长度很多,保存后会丢失一部分字段,如何解决呢?织梦模板网为您解答 方法1:用数据库管理工具登陆数据库,改数据库表dede_archives表里面的litpic字段,原默认是80,(这里改为200). 方法2:到DEDE后台的SQL运行
某些瀑布流的代码要求图片必须带有高度,而织梦默认的缩略图仅仅是储存的图片路径,想要输出图片的高度就必须用别的办法,目前我只想到用getimagesize这个函数了,这也是相对比较简单的实现方案了, 但是在实际应用的过程中貌似有个问题,我也搞不懂是什么原
下面教大家怎么自己开发一个标签来调用当前作者的所有文章。 首先将以下函数放到 include/extend.func.php 最下边,这个函数是用来获取静态页面的URL地址的。 function GetOneDocUrl($aid) { global $dsql; include_once(DEDEINC./channelunit.func.php); $ai
配合{dede:arclist}{/dede:arclist}标签使用,既可以实现把缩略图作为背景,另外还需要用到background-position这个标签,做好背景的定位。 这里还有不使用下面的标签模板 ul {dede:arclist typeid=频道id row=调用次数4 titlelen=标题长度20 orderby=id img
本文主要讲解了织梦DedeCMS缩略图失真模糊的解决方法,由于织梦dedecms默认只生成一个规格大小的缩略图,而往往在一个站不同页面内需要的缩 略图大小不一致,比例不一致,这就造成了缩略图不清晰,失真,不能满足大多数网站的需求,本文给出了一个终极完美解决