У меня есть 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);
?>