PHP

2010-09-17 01:11

提高ecshop商品图片质量

Ecshop上传商品图片默认生成jpg缩略图或商品图的质量是80,这些图片看起来有点模糊,有些时候不够满意,现提供调整生成jpg图片的质量,解决Ecshop商品缩略图不清晰的方法

找到includes/cls_image.php,在大约250行左右

/* 生成文件 */
 if (function_exists(‘imagejpeg’))
 {
   $filename .= ‘.jpg’;
   imagejpeg($img_thumb, $dir . $filename);
 }

改为

/* 生成文件 */
if (function_exists(‘imagejpeg’))
{
    $filename .= ‘.jpg’;
    imagejpeg($img_thumb, $dir . $filename, 95);
}

这样应该足够清晰了,这里允许0-100的范围,不写默认是80的质量。

这样图像质量有所提高,但和原图还是不一样

还要修改admin/goods.php

613行:原:

// 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
if ($proc_thumb && $image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']))
{
    // 如果设置大小不为0,缩放图片
    if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
    {
        $goods_img = $image->make_thumb(‘../’. $goods_img , $GLOBALS['_CFG']['image_width'],  $GLOBALS['_CFG']['image_height']);
        if ($goods_img === false)
        {
            sys_msg($image->error_msg(), 1, array(), false);
        }
    }

改为:

// 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
if ($image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']) &&$_FILES['goods_img']['width'] > $GLOBALS['_CFG']['image_width'] &&$_FILES['goods_img']['height'] > $GLOBALS['_CFG']['image_height'])
{
    // 如果设置大小不为0,缩放图片
    if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
    {
        $goods_img = $image->make_thumb(‘../’. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
        if ($goods_img === false)
        {
            sys_msg($image->error_msg(), 1, array(), false);
        }
    }

这样只要你上传的图片长宽和你在后台,系统设置-》商店设置-》显示设置:商品图片宽度,高度一样,图像质量就不会变化了。

Ecshop上传商品图片生成的缩略图模糊终于圆满解决,开心ing^_^

你可能还喜欢...

添加新评论