当前位置:

首页 > PHP

ecshop上传商品图片变差 修正方法

默认生成jpg缩略图或商品图的质量是80,有些时候不够满意,现提供调整生成jpg图片质量的方法
找到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, 90);
       }

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

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

还要修改admin/goods.php

564行:原:

// 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
        if ($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);
                }
            }

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

本文引用地址: 

  • 暂无相关日志

添加新的评论浏览评论»  

:L :K :J :I :H :G :E :D :C :B :A
表情
BQ14.gif BQ17.gif BQ7.gif BQ4.gif BQ9.gif BQ10.gif BQ5.gif BQ8.gif BQ2.gif BQ6.gif BQ1.gif 



注意:
1、本站启用了审核机制,你的留言可能稍后才会显示,请不要重复提交,谢谢。
2、留言时的头像是Gravatar提供的服务。想设置的看这里
3、评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。