风易博客

风萧萧兮易水寒, 壮士一去兮不复还。

« IE多版本共存的解决方案——IETester(推荐)今年夏天最值得一看的20部外语片(组图) »

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

会说话的博客,点我试试:)

默认生成jpg缩略图或商品图的质量是80,有些时候不够满意,现提供调整生成jpg图片质量的方法
找到includes/cls_image.php,在大约250行左右
 

PHP代码
  1. /* 生成文件 */  
  2.       if (function_exists('imagejpeg'))   
  3.       {   
  4.         $filename .= '.jpg';   
  5.         imagejpeg($img_thumb$dir . $filename);   
  6.       }   

 

改为:
PHP代码

  1. /* 生成文件 */  
  2.       if (function_exists('imagejpeg'))   
  3.       {   
  4.         $filename .= '.jpg';   
  5.         imagejpeg($img_thumb$dir . $filename, 90);   
  6.       }   

 

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

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

还要修改admin/goods.php

564行:原:

PHP代码
  1. // 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印   
  2.         if ($image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']))   
  3.         {   
  4.             // 如果设置大小不为0,缩放图片   
  5.             if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)   
  6.             {   
  7.                 $goods_img = $image->make_thumb('../'$goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);   
  8.                 if ($goods_img === false)   
  9.                 {   
  10.                     sys_msg($image->error_msg(), 1, array(), false);   
  11.                 }   
  12.             }   

 

改为:

PHP代码
  1. // 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印   
  2.         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'])   
  3.         {   
  4.             // 如果设置大小不为0,缩放图片   
  5.             if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)   
  6.             {   
  7.                 $goods_img = $image->make_thumb('../'$goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);   
  8.                 if ($goods_img === false)   
  9.                 {   
  10.                     sys_msg($image->error_msg(), 1, array(), false);   
  11.                 }   
  12.             }   
  13.  

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

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80722 Code detection by Codefense  theme by BokeZhuti

Copyright © 2005 - 2008 风易博客 1982Y.Net.Cn All Rights Reserved.  由Wind88.Net提供优质主机空间
沪ICP备05006417号