ecshop缩略图及产品页图模糊(图的质量是80)的两种解决方法
发布时间:2013-02-20 16:18:58 作者:佚名 我要评论
ecshop上传商品图片默认生成jpg缩略图或商品图的质量是80,这些图片看起来有点模糊,客户方面不好搞定啊,于是有了本文的出现,感兴趣的朋友可以了解下,希望可以帮助到你
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, 96);
}
这样应该足够清晰了,这里允许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);
}
}
同时到后台,系统设置-》商店设置-》显示设置:把商品图片宽度,高度设置成一样,图像质量就不会变化了。
产品页第一张图片模糊的问题主要是由后台开启了上传商品自动生成相册图功能引起的。商店设置--显示设置里面有一项 上传商品是否自动生成相册图: 这个选项默认是打开的,也就是默认是选择 是 ;这样的话您在上传商品图片时就在商品相册里面自动生成一张相册图片(跟你上传的原图是同一张图,只是图片质量不同而已);选择否的话在商品相册里面就不生成此图,如果该商品有商品相册图片,那需要您单独上传;如果您不单独上传商品相册图(且将上传商品是否自动生成相册图:设置为否),那么在模版中系统就认为此商品没有商品相册,(实际确实是没有,因为默认生成的开关你关了而且你有没单独上传相册图,哪儿来的相册图了?)所以商品相册模块就不显示!所以在后台 商店设置--显示设置里面 上传商品是否自动生成相册图: 设置为否; 然后单独上传上传图片就可以解决商品第一张图片模糊的问题。
另一种解决产品页第一张图片模糊的问题的方法是修改代码,用原始图替代这张缩略图来显示。在模板文件夹下的goods.dwt文件,找到
<div class="good_img">
<a href="javascript:;" onclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
<img src="{$goods.goods_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
</a>
</div>
改成
<div class="good_img">
<a href="javascript:;" onclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
<img src="{$goods.original_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
</a>
</div>
这样产品页第一张图片模糊问题可以解决了。
找到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, 96);
}
这样应该足够清晰了,这里允许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);
}
}
同时到后台,系统设置-》商店设置-》显示设置:把商品图片宽度,高度设置成一样,图像质量就不会变化了。
产品页第一张图片模糊的问题主要是由后台开启了上传商品自动生成相册图功能引起的。商店设置--显示设置里面有一项 上传商品是否自动生成相册图: 这个选项默认是打开的,也就是默认是选择 是 ;这样的话您在上传商品图片时就在商品相册里面自动生成一张相册图片(跟你上传的原图是同一张图,只是图片质量不同而已);选择否的话在商品相册里面就不生成此图,如果该商品有商品相册图片,那需要您单独上传;如果您不单独上传商品相册图(且将上传商品是否自动生成相册图:设置为否),那么在模版中系统就认为此商品没有商品相册,(实际确实是没有,因为默认生成的开关你关了而且你有没单独上传相册图,哪儿来的相册图了?)所以商品相册模块就不显示!所以在后台 商店设置--显示设置里面 上传商品是否自动生成相册图: 设置为否; 然后单独上传上传图片就可以解决商品第一张图片模糊的问题。
另一种解决产品页第一张图片模糊的问题的方法是修改代码,用原始图替代这张缩略图来显示。在模板文件夹下的goods.dwt文件,找到
复制代码
代码如下:<div class="good_img">
<a href="javascript:;" onclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
<img src="{$goods.goods_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
</a>
</div>
改成
复制代码
代码如下:<div class="good_img">
<a href="javascript:;" onclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
<img src="{$goods.original_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
</a>
</div>
这样产品页第一张图片模糊问题可以解决了。
相关文章
- 这篇文章主要介绍了ecshop实现针对不同支付方式对应不同价格折扣的方法,涉及针对Ecshop底层相关逻辑判定代码的修改操作,需要的朋友可以参考下2016-10-10
- 这篇文章主要介绍了ecshop支付宝自动发货接口用法,结合实例形式分析了Ecshop实现支付宝自动发货功能的相关代码修改与接口操作代码功能与修改技巧,需要的朋友可以参考下2016-10-10
- 这篇文章主要介绍了Ecshop支付宝前台付款而后台不显示已付款的解决方法,涉及针对文件判定逻辑的修改,需要的朋友可以参考下2016-09-26
- 这篇文章主要介绍了Ecshop支付方式显示顺序修改方法,可自由调整支付方式的显示顺序,涉及Ecshop简单的源码修改,需要的朋友可以参考下2016-09-26
- 这篇文章主要介绍了Ecshop实现支付时传送商品订单号和商品名称的方法,涉及Ecshop模板操作及底层代码的修改相关技巧,需要的朋友可以参考下2016-09-26
Ecshop使用支付宝支付成功后提示“此支付方式不存在或者参数错”的解决
这篇文章主要介绍了Ecshop使用支付宝支付成功后提示“此支付方式不存在或者参数错”的解决方法,分析了出现该错误提示的原因与相关的解决方法,需要的朋友可以参考下2016-09-26- 这篇文章主要介绍了Ecshop实现的支付宝手机网页支付功能免费版,结合完整实例形式分析了Ecshop环境下的免费版支付宝手机端完整实现技巧,需要的朋友可以参考下2016-09-26
- 这篇文章主要介绍了修改ECSHOP评论表单中的Email为非必填的修改方法,需要的朋友可以参考下2015-09-29
- 这篇文章主要介绍了在ECSHOP的商品列表调用评论数量的方法,需要的朋友可以参考下2015-09-29
- 这篇文章主要介绍了在ECSHOP后台会员列表添加手机号查询功能的方法,需要的朋友可以参考下2015-09-29
最新评论