也想出现在这里?联系我们吧
织梦 DedeCMS 缩略图生成方式都是采用缩小或拉伸的方式进行完整显示,如果使用的图片和缩略图所显示的比例不一致的话,会使得缩略图拉伸变形。解决的思路是对图片进行按宽或高进行放缩,超过缩略图大小的部分再进行裁剪,这样生成的缩略图的显示效果要比原来的要好得多了。不过因为是剪裁的,会造成有些图片重要的部分也被剪掉了,如果是图片站,有些图片一剪裁,手或者脚就“断”了,所以这个方法仅供大家参考一下。如何解决织梦 DedeCMS5.7 缩略图变形的问题呢?还是修改织梦获取缩略图的函数。
DedeCMS5.7 的函数是在/include/helpers/文件夹中的 image.helper.php 里面。修改之前,一定要先对对应的文件进行备份,防止造成无法预料的程序错误。先找到如下的代码:
$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW<=$toW && $srcH<=$toH ) return TRUE;
$toWH=$toW/$toH;
$srcWH=$srcW/$srcH;
if(
$toWH<=$srcWH)
{
$ftoW=$toW;
$ftoH=$ftoW*($srcH/$srcW);
}
else
{
$ftoH=$toH;
$ftoW=$ftoH*($srcW/$srcH)
把这部分代码修改为如下的代码:
$srcW=ImageSX($im);
$srcH=ImageSY($im);
if(
$srcW<=$toW && $srcH<=$toH ) return TRUE;
$toWH=$toW/$toH;
$srcWH=$srcW/$srcH;
$ftoH=$toH;
$ftoW=$toW;
if
($toWH<=$srcWH)
{
$src_Y = 0;
$src_X = ($srcW-$srcH*$toWH)/2;
$srcW = $srcH*$toWH;
}
else
{
$src_X = 0;
$src_Y = ($srcH-$srcW/$toWH)/2;
$srcH = $srcW/$toWH;
}
适用于全站需要多种尺寸的缩略图,该种方法可以和上述结合使用,效果更好。
1、增加函数:打开 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;
}
2、后台设置:
说明:总的来说生成后的缩略图是由原图整体缩小后得到(这个部分是生成的原始缩略图),然后从上到下按照宽度裁切(这个部分是在原始缩略图的基础上再次裁切),如果你网站中不需要调用原始缩略图,同时需要三种规格的缩略图,那么你的缩略图总共会有 4 张,1 张原始缩略图,3 张你需要的尺寸。
设置:后台的附件管理中,缩略图生成的尺寸按照你网站中调取的规格,选择最宽的数值,最高的数值。我的做法: 我网站需要四套尺寸,列表页面的主体区域是重点,需要 191*258,还有 230*172; 其它的是边栏和底部,173*129,和 204*153,非常的不规则;由于是以宽度为准,同时我需要前 2 套都比较正常,要是后台附件设置为 230*258 ,那么 191*258 这个将会有补白,不是理想的选择, 所以我按照 191*258 这个尺寸的等比尺寸 230*311 来作为全局的设置。 这样首选保证了我重点的 2 套,同时其它 2 套也不会变形,只是会被裁剪。
3、页面调用:
标签 : [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)’/]
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!
本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!
深圳SEO优化公司毕节网络广告推广推荐临猗百度网站优化排名推荐阳江营销网站报价延边企业网站改版南阳高端网站设计多少钱朝阳网站推广工具哪家好烟台百度标王公司醴陵网站推广工具来宾网页制作推荐梅州高端网站设计濮阳阿里店铺托管价格淮安百姓网标王推广推荐濮阳seo网站推广多少钱大同建站推荐厦门网络推广报价思茅网络广告推广报价镇江模板网站建设推荐海北网站优化排名公司南充网站定制哪家好天门网页设计蚌埠网站排名优化多少钱玉林SEO按天计费公司湛江百姓网标王推广公司果洛SEO按天收费报价莱芜模板网站建设坪山网站推广系统滁州网站排名优化公司来宾模板推广哪家好惠州网页设计哪家好松原网站建设设计公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运