之前写过文章说怎么在Magento1.3下修改前台产品图片质量,http://blog.csdn.net/shuishui8310/archive/2010/03/11/5364583.aspx,最近开始使用1.4后,发现根目录下/lib/Varien/Image/Adapter/Gd2.php文件内容与1.3不同,设置图片压缩质量的代码变成了这样
// set quality param for JPG file type
if (!is_null($this->quality()) && $this->_fileType == IMAGETYPE_JPEG)
{
$functionParameters[] = $this->quality();
}
// set quality param for PNG file type
if (!is_null($this->quality()) && $this->_fileType == IMAGETYPE_PNG)
{
$quality = round(($this->quality() / 100) * 10);
if ($quality < 1) {
$quality = 1;
} elseif ($quality > 10) {
$quality = 10;
}
$quality = 10 - $quality;
$functionParameters[] = $quality;
}
call_user_func_array($this->_getCallback('output'), $functionParameters);
$this->quality()应该是从哪个地方获得了数据,不过暂时我还没找到,尝试直接赋值后,测试有效果,同一张图片在列表页的产品图大小从4.3K变成了7.1K,修改后的代码:
// set quality param for JPG file type
if (!is_null($this->quality()) && $this->_fileType == IMAGETYPE_JPEG)
{
//alex
$functionParameters[] = 95;//$this->quality();
}
95%的压缩质量是我权衡后的结果,不推荐设置为100%,质量提升不多,图片大小却会暴涨。