Friday, March 15, 2019

Membuat Gambar Menjadi Grayscale Dengan PHP

Membuat Gambar Menjadi Grayscale Dengan PHP

Pernahkah kamu berbikir bagaimana proses konversi gambar menjadi grayscale? misal didalam potoshop kita hanya klik klik dan gambar pun sudah menjadi grayscale.

Didalam postingan ini kita akan belajar bagaimana proses grayscale tersebut, meskipun di dalam php sudah ada fungsi dari php GD Library tetapi kita akan belajar proses manual dengan fungsi yang kita buat sendiri.

Silahkan simak kode di bawah ini:

<?php
$im = ImageCreateFromJpeg('photos.JPG'); 

$imgw = imagesx($im);
$imgh = imagesy($im);

for ($i=0; $i<$imgw; $i++)
{
        for ($j=0; $j<$imgh; $j++)
        {

                // get the rgb value for current pixel

                $rgb = ImageColorAt($im, $i, $j); 

                // extract each value for r, g, b

                $rr = ($rgb >> 16) & 0xFF;
                $gg = ($rgb >> 8) & 0xFF;
                $bb = $rgb & 0xFF;

                // get the Value from the RGB value

                // $g = round(($rr + $gg + $bb) / 3);
                $g=(0.114*$rr)+(0.587*$gg)+(0.299*$bb);

                // grayscale values have r=g=b=g

                $val = imagecolorallocate($im, $g, $g, $g);

                // set the gray value

                imagesetpixel ($im, $i, $j, $val);
        }
}

header('Content-type: image/jpeg');
imagejpeg($im);
?>
Itulah fungsi grayscale dengan menggunakan php. Semoga Bermanfaat.