A-A+

EcShop修改缩略图不清析的解决方法

2012年09月04日 PHP开源系统 暂无评论 阅读 41 views 次

发现ECSHOP系统首页或列表页的图片缩略图的质量不高,比较模糊......原因是因为ECSHOP生成缩略图时,用到的函数 imagejpeg() 没有设置质量参数。

说明注释:

质量参数为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。如果没有设置质量参数,那么程序默认缩略图质量为75。下面,我们通过修改生成缩略图质量的默认值来提高缩略图的质量。

打开 /includes/cls_image.php,

/* 生成文件 */
        if (function_exists('imagejpeg'))
        {
            $filename .= '.jpg';
            imagejpeg($img_thumb, $dir . $filename);
        }
        elseif (function_exists('imagegif'))
        {
            $filename .= '.gif';
            imagegif($img_thumb, $dir . $filename);
        }
        elseif (function_exists('imagepng'))
        {
            $filename .= '.png';
            imagepng($img_thumb, $dir . $filename);
        }
        else
        {
            $this->error_msg = $GLOBALS['_LANG']['creating_failure'];
            $this->error_no  =  ERR_NO_GD;

            return false;
        }

修改为

/* 生成文件 */
        if (function_exists('imagejpeg'))
        {
            $filename .= '.jpg';
            imagejpeg($img_thumb, $dir . $filename, 100);
        }
        elseif (function_exists('imagegif'))
        {
            $filename .= '.gif';
            imagegif($img_thumb, $dir . $filename, 100);
        }
        elseif (function_exists('imagepng'))
        {
            $filename .= '.png';
            imagepng($img_thumb, $dir . $filename, 100);
        }
        else
        {
            $this->error_msg = $GLOBALS['_LANG']['creating_failure'];
            $this->error_no  =  ERR_NO_GD;

            return false;
        }

这样图片看起来就清晰了。

注意:按照以上方法修改完后,还需要到后台执行一下“商品管理 》图片批量处理 ”才能看到效果。

标签:

给我留言