Magento裁剪后的略缩图背景填充颜色的修改

by Web全栈工程师 on 2011 年 06 月 20 日

Magento显示略缩图的时候,会使用resize函数,对图片进行裁剪,但裁剪之后的图片,会显示白色背景

我们可以通过修改Magento的库文件函数,来修改裁剪图片的背景色,

/lib/Varien/Image/Adapter/Abstract.php

找到相关的背景色函数:

    /**
     * Get/set keepBackgroundColor
     *
     * @param array $value
     * @return array
     */
    public function backgroundColor($value = null)
    {
        if (null !== $value) {
            if ((!is_array($value)) || (3 !== count($value))) {
                return;
            }
            foreach ($value as $color) {
                if ((!is_integer($color)) || ($color < 0) || ($color > 255)) {
                    return;
                }
            }
        }
        $this->_backgroundColor = $value;
        return $this->_backgroundColor;
    }

其中:$this->_backgroundColor = $value的 $value RGB格式的颜色,

如果在这里修改$value的值,所有裁剪图片的背景色设置成同一种颜色

如果希望在不同的产品,显示不同的背景色,可以在模板里设置相关的代码

helper('catalog/image')->init($_product, 'small_image')->resize(160, 190)->backgroundColor(51,51,51); ?>

Comments on this entry are closed.

Previous post:

Next post: