在Magento网站上,我只是每个产品上传一张图片,并将其作为基础,小图和缩略图。但是,我的照片不是方形的,所以我将黑色背景添加到创建的缩略图中。任何想法如何将其改为白色背景?Magento - 从自动缩略图中删除黑色背景?
http://www.magentocommerce.com/?ACT=25&fid=10&aid=10785_osKeOnfKFLFvgqVYbr0j&board_id=1
我搜索了这一点,但无法找到任何地方一个像样的答案...
在Magento网站上,我只是每个产品上传一张图片,并将其作为基础,小图和缩略图。但是,我的照片不是方形的,所以我将黑色背景添加到创建的缩略图中。任何想法如何将其改为白色背景?Magento - 从自动缩略图中删除黑色背景?
http://www.magentocommerce.com/?ACT=25&fid=10&aid=10785_osKeOnfKFLFvgqVYbr0j&board_id=1
我搜索了这一点,但无法找到任何地方一个像样的答案...
我发现了一个办法解决这个。副作用是用于图像大小调整的类将用白色(甚至是透明的)填充所有图像,但这并不会影响Magento,因为它不使用透明填充。所以要解决这个问题做到这一点:在你的Magento文件夹
找到这一行
$this->_fillBackgroundColor($newImage);
,并与这条线替换它
$this->_fillBackgroundColor($newImage,$frameWidth,$frameWidth);
查找
lib\Varien\Image\Adapter\Gd2.php
此行 private function _fillBackgroundColor(&$imageResourceTo)
以及与此
private function _fillBackgroundColor(&$imageResourceTo,$w,$h)
取代它找到这段代码
if (!imagefill($imageResourceTo, 0, 0, $color)) {
throw new Exception("Failed to fill image background with color {$r} {$g} {$b}.");
}
以及与此
imagefilledrectangle($imageResourceTo,0,0,$w,$h,$color);
这就是它取代它。问题来自于Gd2中的PHP函数imagefill
,并不适用于某些设置。这是一个解决方法,使用imagefilledrectangle
,并为我工作。希望它也能解决你的问题。
从Adi's answer上点4纠错:
4.找到这个代码
if (!imagefill($imageResourceTo, 0, 0, $color)) { throw new Exception("Failed to fill image background with color {$r} {$g} {$b}."); }
并将其替换为:
if (!imagefilledrectangle($imageResourceTo,0,0,$w,$h,$color)) {
throw new Exception("Failed to fill image background with color {$r} {$g} {$b}.");
Varien_Image其在Magento使用提供了可能性以设置缩放图像的背景颜色。您可以使用类似的代码输出图像(调整方法?),使白色背景前的地方:
$image->backgroundColor(array(255, 255, 255));
阿迪的回答使我在正确的方向,但我还是让我的图像的黑线。我发现当图像被剪裁时,Magento会创建一个画布背景,然后创建一个图像。画布在我的图像上产生黑线。
我设法通过增加阿迪的更改,然后另外,在作物()函数(在同一个文件),以解决它,我说:
list($r, $g, $b) = $this->_backgroundColor;
$bg_color = imagecolorallocate($canvas, $r, $g, $b);
imagefill($canvas, 0, 0, $bg_color);
功能(约行554后,后adi的变化):
imagecopyresampled
现在我的图像有他们应该有的背景颜色!
另外一点需要注意的,而不是直接在核心编辑这个文件,它应该被复制到:
app/code/local/Varien/Image/Adapter/Gd2.php
希望这可以帮助别人有同样的问题挣扎。
很酷,我会给你一个镜头。我通过使用图像作为的背景自己解决了这个问题,我用它代替插入的图像 – 2009-12-08 22:33:02