English
I’ve added some code to thumb plugin that allows the get transparent thumbs with GIFs and PNGs files.
I’ve taken this code from a comment of the imagecopyresampled PHP function.
Open fp-plugins/thumb/plugin.thumb.php
with a text editor and replace:
$scaled = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($scaled, $image, 0, 0, 0, 0, $new_width, $new_height, $infos[0], $infos[1]);
with
$scaled = imagecreatetruecolor($new_width, $new_height); /* * If gif or png preserve the alpha channel * * Added by Piero VDFN * Kudos to http://www.php.net/manual/en/function.imagecopyresampled.php#104028 */ if($infos[2]==1 || $infos[2]==3) { imagecolortransparent($scaled, imagecolorallocatealpha($scaled, 0, 0, 0, 127)); imagealphablending($scaled, false); imagesavealpha($scaled, true); $output=$infos[2]==3 ? 'png' : 'gif'; } else { $output='jpg'; } imagecopyresampled($scaled, $image, 0, 0, 0, 0, $new_width, $new_height, $infos[0], $infos[1]);
Now, replace some lines belove imagejpeg($scaled, $thumbpath);
with:
if($output=='png') { imagepng($scaled, $thumbpath); } elseif($output=='gif') { imagegif($scaled, $thumbpath); } else { imagejpeg($scaled, $thumbpath); }
And now you will have thumbs with the alpha channel 😉
Italiano
Ho modificato il plugin thumb affinché mantenga la trasparenza nelle immagini PNG e GIF.
In realtà ho preso il codice da un commento della funzione imagecopyresampled di PHP, perciò dobbiamo ringraziare l’autore di quel listato di codice.
Per prima cosa apriamo fp-plugins/thumb/plugin.thumb.php
, sostituiamo il primo listato di codice con il secondo.
Dopodiché andiamo qualche linea sotto e sostituiamo imagejpeg($scaled, $thumbpath);
con il terzo listato di codice.
Ora, se abbiamo qualche thumb errata eliminiamola e come per magia avremo la thumb corretta non appena ricaricheremo il post con l’immagine desiderata.
4 commenti
Ciao Piero,
come si fa a cancellare le thumb?
Nel percorso dell'immagine/.thumb/nomeimmagine
Io non le vedo quelle cartelle, anche se visualizzo i file nascosti e di sistema… Dovrò procurarmi un programmino per l'ftp…
Le cartelle .nome sono quelle nascoste in unix.
Io ti consiglio Filezilla.