點評: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>
這樣產品頁第一張圖片模糊問題可以解決了。
|
新聞熱點
疑難解答