Caputo's blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Immagini in bianco e nero con PHP

Novembre 25th, 2010 by Giovanni Caputo

In questo tutorial PHP imparete come creare immagini in scala di grigi utilizzando le librerie GD.

 
< ?php
header("Content-type: image/png");
 
$original = @imagecreatefrompng("tua_immagine.png")
    or die("Cannot Initialize new GD image stream");
 
$im = @imagecreate(imagesx($original), imagesy($original))
    or die("Cannot Initialize new GD image stream");
 
for ($i = 0; $i <= 255; $i++) {
    $palette[$i] = imagecolorallocate($im, $i, $i, $i);
}
 
function grayscale($r, $g, $b) {
    return 0.199*$r + 0.587*$g + 0.114*$b;
}
 
for($x = 0; $x < imagesx($original); $x++) {
    for($y = 0; $y < imagesy($original); $y++) {
        $rgb = imagecolorat($original, $x, $y);
        $r = ($rgb >> 16) & 0xFF;
        $g = ($rgb >> <img src='http://www.sastgroup.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> & 0xFF;
        $b = $rgb & 0xFF;
        imagesetpixel($im, $x, $y, $palette[grayscale($r, $g, $b)]);
    }
}
 
imagepng($im);
imagedestroy($im);
?>

Category: Programmazione | No Comments »