En utilisant GD2 pour remplir un png transparent avec une couleur unie, voici mon code et le résultat. Fondamentalement, dès que la transparence commence, la couleur de remplissage s'arrête brusquement au lieu de se fondre dans la transparence.Transparence avec l'image de fond en utilisant 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);
}
Image originale:
alt text http://far.id.au/jkf/so/blank.png
image résultante:
alt text http://far.id.au/jkf/so/filled.png
Merci! J'adore utiliser GD avec PHP mais j'ai encore beaucoup à apprendre avec. – Simon