Ho un set di immagini (circa 850), tutte con lo stesso sfondo bianco, da rendere trasparente; sto provandoci con GD, dopo aver scoperto (bug confermato da Adobe) che Photoshop non rispetta la trasparenza nelle azioni batch (automatizza... etc).
leggendo qua e là, a parte il loop su tutte le immagini contenute in un folder, la cosa si dovrebbe ridurre a:
Codice PHP:
$im = imagecreatefromgif("beachball1.gif");
$white = imagecolorallocate($im, 255, 255, 255);
imagecolortransparent($im,$white);
header('Content-type: image/gif');
imagegif($im,'newBeachB.gif');
imagedestroy($im);
che fallisce (gif identica all'originale).
Un altro approccio tentato:
Codice PHP:
$src = imagecreatefromgif("beachball1.gif");
$dest = imagecreatetruecolor(190, 190);
$white = imagecolorallocatealpha($dest, 255, 255, 255,127);
imagecolortransparent($dest, $white);
imagecopy($dest, $src, 0, 0, 0, 0, 190, 190);
echo "done!";
header('Content-Type: image/gif');
imagegif($dest,'copiedOne.gif');
imagedestroy($dest);
imagedestroy($src);
stessi risultati. Credo il problema stia nell'iniziale imagecreatefromgif, tutte le combinazioni possibili utilizzando imagecolorallocatealpha, imagecolorDeallocate etc sembrano dare gli stessi risultati...
ciao!