当前位置:首页 > 帝国CMS学习

帝国CMS截图黑边解决办法

时间:2021-03-12 | 栏目:帝国CMS学习 | 围观热度:1417

我们在上传缩略图的时候,有时候会出现图片有黑边出现。这种图片出现的原因是,当宽大于高(横片)的图片生成缩略图才会左右出现黑边,我们打开一张有黑边的图片,分析出得出图片是按照高度来缩放,宽度不足的话就用黑边填充。

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

具体修改方法:

1、打开e\class\gd.php,找到代码,默认在44行

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,php示例代码如下:

<?=sys_ResizeImg(原图片地址,缩略宽度,缩略高度,1,目录文件名)?>

平常用的就要设置:后台>系统>系统设置>系统参数设置>图片设置>超出部分是否截取>选是