帝国标题图片截取成的缩略图出现两边黑色如何解决?

798人参与 |分类: 程序学习|时间:2019-02-16 13:58:54

很多喜欢帝国cms的朋友,在改进用帝国cms做的博客时,会遇到各种问题。想必为了减少服务器相应时间,文章标题图片一般都会用到裁剪缩略图功能!但是可能会出现一些不好的现象,就是图片裁剪完后出现黑边。经过分析帝国CMS对于只有宽大于高(横片)的图片生成缩略图才会左右出现黑边,我们打开一张有黑边的图片,从而得出帝国CMS对于图片是按照高度来缩放,宽度不足的话就用黑边填充。

解决思路:把按照高度缩放改成按照宽度缩放,然后高出部分裁调。

修改方法:1、打开e/class/gd.php

 2、找到代码

if($big_width >= $max_width and $big_height >= $max_height)
{
if($big_width > $big_height)
{
$tempx = $max_width / $ratioh;
$tempy = $big_height;
$srcX = ($big_width - $tempx) / 2;
$srcY = 0;
}

修改成:

if($big_width >= $max_width and $big_height >= $max_height)
{
if($big_width > $big_height)
{
$tempy = $max_height / $ratiow;
$tempx = $big_width;
$srcY = ($big_height - $tempy) / 2;
$srcX = 0;
}

如果使用缩略图函数要设置截取高出部分:sys_ResizeImg(原图片,缩图宽度,缩图高度,是否裁翦图片,目标文件名)//是否裁翦图片为设置为1

另外不要忘记系统设置模块,后台>系统>系统设置>系统参数设置>图片设置>超出部分是否截取>选是