Использование GD2 для заполнения прозрачного png сплошным цветом, вот мой код и результат. В принципе, как только начинается прозрачность, цвет заливки резко прекращается, а не смешивается с прозрачностью.Прозрачность с фоновым изображением с использованием GD
private function GenerateImage()
{
$original = imagecreatefrompng($this->ImagePath());
$x = imagesx($original);
$y = imagesy($original);
$image = imagecreate($x,$y);
imagealphablending($image,false);
imagesavealpha($image,true);
imagecopyresampled($image,$original,0,0,0,0,$x,$y,$x,$y);
$colour = imagecolorallocate($image,$this->RGB[0],$this->RGB[1],$this->RGB[2]);
imagefill($image,0,0,$colour);
return imagepng($image,$this->GeneratedPath());
imagedestroy($original);
imagedestroy($image);
}
Исходное изображение:
alt text http://far.id.au/jkf/so/blank.png
Полученное изображение:
alt text http://far.id.au/jkf/so/filled.png
Спасибо! Мне нравится использовать GD с PHP, но у меня есть много возможностей учиться с ним. – Simon