在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