GDlib PHP – png to gif возвращает фон, прозрачный для черного

При попытке конвертировать PNG в GIF возвратите прозрачность в черный:

$file = "example.png" $whf = getimagesize($file); $wf = $whf[0]; $hf = $whf[1]; $h = "100"; $w = "100"; $img = imagecreatetruecolor($w, $h); $imgi = imagecreatefrompng($file); // Here means to be some magic code... imagecopyresampled($img, $imgi, 0, 0, 0, 0, $w, $h, $wf, $hf); imagegif($img, "example.gif"); imagedestroy($img); 

Коды, которые я пробовал, но ничего:

1º:

 imagesavealpha($img, true); imagecolortransparent($img, 127<<24); 

2º:

 imagealphablending($img, false); imagesavealpha($img, true); 

Это работает! Но с одной деталью. Вам нужен абсолютный прозрачный фон без «прозрачных градиентов png». Imagick использует полуградиентные прозрачные пленки для абсолютной прозрачности и от другой до абсолютной равнины. Спасибо, isalgueiro!

 $black = imagecolorallocate($img, 0, 0, 0); imagecolortransparent($img, $black);