Ресайз прозрачного GIF

440hz

php.ru
Ресайз прозрачного GIF

Ресайзю прозрачный GIF. Получаю картинку на черном фоне.

Код:
$dst = imagecreatetruecolor($NW,$NH);
$trans = imagecolorallocate($dst,0,0,0);
imagecolortransparent($dst,$trans);
imagecopyresampled($dst,$src,0,0,0,0,$NW,$NH,$W,$H);
как сделать $dst то же прозрачным?
 

ksnk

прохожий
После ресайза - нужно сделать
[m]imagetruecolortopalette[/m], а потом -
[m]imagecolortransparent[/m].
Не повредит по комментариям этих функций пошарить.
 

440hz

php.ru
решилось:
PHP:
if($FOTO->EXT == 1) {
	$src_trans = imagecolortransparent($src);
	$dst = imagecreate($NW,$NH);
	imagepalettecopy($dst,$src);
	imagefill($dst,0,0,$src_trans);
	imagecolortransparent($dst,$src_trans);
	imagecopyresampled($dst,$src,0,0,0,0,$NW,$NH,$W,$H);
} else {
	$dst = imagecreatetruecolor($NW,$NH);
	imagecopyresampled($dst,$src,0,0,0,0,$NW,$NH,$W,$H);
}
 
Сверху