Convertire Immagine in Bianco e Nero
Pubblicato nel 2009 da james

May 28
Hai intenzione di modificare e convertire in bianco e nero le immagini del tuo sito web senza usare ogni volta dei software ad hoc?
Ecco dei semplicissimi script PHP che permettono di convertire le vostre immagini in bianco e nero.

Il seguente codice visualizzerà l’immagine da browser, senza salvarla nel proprio spazio web:
<?
header( “content-type: image/jpg” );
$im = imagecreatefromjpeg(‘immagini/immagine.jpg’);
imagefilter($im, IMG_FILTER_GRAYSCALE);
imagejpeg($im);
imagedestroy($im);
?>
Se vogliamo invece che l’immagine in bianco e nero venga salvata nello spazio web e quindi caricata si deve usare il seguente codice PHP:
<?
$im = imagecreatefromjpeg(‘immagini/immagine.jpg’);
imagefilter($im, IMG_FILTER_GRAYSCALE);
imagejpeg($im, ‘images/immagine_bianconero.jpg’);
imagedestroy($im);
?>
In entrambi i casi al posto di ‘immagini/immagine.jpg‘ andremo ad inserire il percorso corretto delle immagini.
I precedenti script però possono girare solo su versioni di PHP superiori alla 5 poichè usano la funzione imagefilter(). Se abbiamo un hosting che fornisce solo PHP4 possiamo comunque convertire in bianco e nero il colore delle nostre immagini usando il seguente script PHP:
<?
header( “content-type: image/jpg” );
$im = imagecreatefromjpeg(‘immagini/immagine.jpg’);
$sx=imagesx($im);
$sy=imagesy($im);
$filter=imagecreatetruecolor($sx,$sy);
imagecopymergegray($im,$filter,0,0,0,0,$sx,$sy,0);
imagejpeg($im);
imagedestroy($im);
?>
Nello script qui sopra nessuna immagine verra’ salvata sul nostro spazio web, se vogliamo che venga salvata l’immagine in bianco e nero dovremo usare il seguente script:
<?
$im = imagecreatefromjpeg(‘immagini/immagine.jpg’);
$sx=imagesx($im);
$sy=imagesy($im);
$filter=imagecreatetruecolor($sx,$sy);
imagecopymergegray($im,$filter,0,0,0,0,$sx,$sy,0);
imagejpeg($im, ‘images/immagine_bianconero.jpg’);
imagedestroy($im);
?>

