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.