我有一個PNG,是在透明背景上的一組白色形狀。我正在嘗試改變形狀的顏色,同時保留透明背景。我一直在試驗下面的代碼,它會改變顏色,但會導致黑色背景。我認爲imagetruecolortopalette導致了這個問題,但是如果我刪除那條線,顏色不會改變。任何建議?使用GD來改變透明背景上的一種顏色形狀的顏色,同時保持透明度
<?php
$imgname = "whiteim.png";
$im = imagecreatefrompng ($imgname);
imagetruecolortopalette($im,false, 255);
$index = imagecolorclosest ($im, 255,255,255); // get White COlor
imagecolorset($im,$index,255,0,0); // SET NEW COLOR
$imgname = "result.png";
imagepng($im, $imgname); // save image as png
imagedestroy($im);
?>
這不適合我。也許它與我的形象有關? (附後)。下面的代碼完美工作,但我不明白爲什麼。無論你用什麼替換$ xxxx,它都能正常工作。如果我刪除該行,它不起作用?任何人知道爲什麼? – Kwanzz 2011-03-12 04:21:50