王鹏飞seo博客,专注郑州seo,郑州网站优化,百度seo优化,提供免费seo诊断方案。seo外包顾问QQ:931519643,电话15617834052。
Loading
0

如何让dedecms的缩略图不变形

织梦cms目前几个最新版本的缩略图生成方式都是采用缩小或拉伸的方式进行完整显示,如果使用的图片和缩略图所显示的比例不一致的话,会使得缩略图拉伸变形。如果不改变织梦目前的缩略图显示方式的话,又想缩略图不拉伸变形显示,就得制作一个和显示缩略图位置大小一致或者图片比例一致且大于缩略图的分辨率就会不拉伸变形了。

澳门真钱在线赌场 我们可以通过下面方法修改实现,对图片进行按宽或高进行放缩,超过缩略图大小的部分再进行裁剪,这样生成的缩略图的显示效果要比原来的要好得多了。同时也可以采取之际制作好分辨率一致的缩略图进行显示。

澳门真钱在线赌场 于是重新修改了一下DedeCms v5.7缩略图生成方法。

默认dedecms5.7默认生成的缩略图,缩略图大小设置为: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,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

else

{

澳门真钱在线赌场 $ni=imagecreate($ftoW,$ftoH);

澳门真钱在线赌场 imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

}

else

{

澳门真钱在线赌场 $ni=imagecreate($ftoW,$ftoH);

澳门真钱在线赌场 imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

//裁剪图片成标准缩略图

$new_imgx = imagecreatetruecolor($toW,$toH);

澳门真钱在线赌场 if($newH >= $toH)

{

澳门真钱在线赌场 imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);

}

else

{

澳门真钱在线赌场 imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$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;

}

更多1

    本站文章均来自互联网,如有侵权请及时联系郑州seo。并发送侵权证明至邮箱931519643@qq.com,证实后立即删除。
    鞭挞我吧!鞭挞我吧! 鞭挞我吧!鞭挞我吧!

    澳门真钱在线赌场如果你觉得不错,不如打赏一下!

最后编辑于:2019/5/7作者: 王鹏飞SEO

王鹏飞seo,专注郑州SEO网站优化,分享百度SEO优化知识,提供免费seo优化方案。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

扫一扫,获取免费seo诊断!

扫一扫,获取免费seo诊断!

document.write ('');