加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

dedecms 5.6 缩略图按大小比例缩小裁剪

发布时间:2020-12-14 04:15:17 所属栏目:Dedecms 来源:网络整理
导读:这样的话,如果图片的宽高比例不合适,那么缩略图将会被压缩得很不好看,在这里,我是先对图片进行按宽或高进行放缩, 超过缩略图大小的部分再进行裁剪,这样生成的缩略图的显示效果要比原来的要好得多了。? ? 于是重新修改了一下织梦DEDECMS v5.6缩略图生成
这样的话,如果图片的宽高比例不合适,那么缩略图将会被压缩得很不好看,在这里,我是先对图片进行按宽或高进行放缩,

超过缩略图大小的部分再进行裁剪,这样生成的缩略图的显示效果要比原来的要好得多了。?
?
于是重新修改了一下织梦DEDECMS v5.6缩略图生成方法。?
?
默认织梦dedecms5.6默认生成的缩略图,缩略图大小设置为:100*100(直接把图片缩小了)?
?
看起来很不美观,影响了图片的观赏性?
?
?
DEDECMS v5.6缩略图裁剪优化方法?
?
修改如下:?
打开/includes/image.func.php文件,?
//缩图片自动生成函数,来源支持bmp、gif、jpg、png?
//但生成的小图只用jpg或png格式?
找到代码第44行function ImageResize?
至?
//获得GD的版本之间的代码?
,用如下的代码覆盖(大家请注意备份)。?
?
代码如下:?
function ImageResize($srcFile,$toW,$toH,$toFile="")?
{?
global $cfg_photo_type;?
if($toFile=="")?
{?
$toFile = $srcFile;?
}?
$info = "";?
$srcInfo = GetImageSize($srcFile,$info);?
switch ($srcInfo[2])?
{?
case 1:?
if(!$cfg_photo_type['gif'])?
{?
return false;?
}?
$im = imagecreatefromgif($srcFile);?
break;?
case 2:?
if(!$cfg_photo_type['jpeg'])?
{?
return false;?
}?
$im = imagecreatefromjpeg($srcFile);?
break;?
case 3:?
if(!$cfg_photo_type['png'])?
{?
return false;?
}?
$im = imagecreatefrompng($srcFile);?
break;?
case 6:?
if(!$cfg_photo_type['bmp'])?
{?
return false;?
}?
$im = imagecreatefromwbmp($srcFile);?
break;?
}?
$srcW=ImageSX($im);?
$srcH=ImageSY($im);?
if($srcW<=$toW && $srcH<=$toH )?
{?
return true;?
}?
//缩略生成并裁剪?
$newW = $toH * $srcW / $srcH;?
$newH = $toW * $srcH / $srcW;?
if($newH >= $toH)?
{?
$ftoW = $toW;?
$ftoH = $newH;?
}?
else?
{?
$ftoW = $newW;?
$ftoH = $toH;?
}?
if($srcW>$toW||$srcH>$toH)?
{?
if(function_exists("imagecreatetruecolor"))?
{?
@$ni = imagecreatetruecolor($ftoW,$ftoH);?
if($ni)?
{?
imagecopyresampled($ni,$im,$ftoW,$ftoH,$srcW,$srcH);?
}?
else?
{?
$ni=imagecreate($ftoW,$ftoH);?
imagecopyresized($ni,$srcH);?
}?
}?
else?
{?
$ni=imagecreate($ftoW,$srcH);?
}?
//裁剪图片成标准缩略图?
?
$new_imgx = imagecreatetruecolor($toW,$toH);?
if($newH >= $toH)?
{?
imagecopyresampled($new_imgx,$ni,($newH - $toH)/2,$toH);?
}?
else?
{?
imagecopyresampled($new_imgx,($newW - $toW)/2,$toH);?
}?
switch ($srcInfo[2])?
{?
case 1:?
imagegif($new_imgx,$toFile);?
break;?
case 2:?
imagejpeg($new_imgx,$toFile,85);?
break;?
case 3:?
imagepng($new_imgx,$toFile);?
break;?
case 6:?
imagebmp($new_imgx,$toFile);?
break;?
default:?
return false;?
}?
imagedestroy($new_imgx);?
imagedestroy($ni);?
}?
imagedestroy($im);?
return true;?
}?

上一篇:dedecms软件下载模块中添加下载方式为迅雷下载联盟代码

下一篇:dedecms自动给已经发布过的文章中的关键词加超链接

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读