Имам png, който е набор от бяла форма на прозрачен фон. Опитвам се да променя цвета на фигурите, като запазвам прозрачния фон. Експериментирах с кода по-долу, който променя цвета, но води до черен фон. Мисля, че imagetruecolortopalette причинява проблема, но цветът не се променя, ако премахна този ред. Някакви предложения?
<?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);
?>