untuk membuat program images editor dengan PHP dibutuhkan minimal PHP versi 5 keatas dan library GDLIB, anda bisa menggunakan XAMPP versi 1.6.3 keatas. source code program bisa didownload disini
untuk penjelasan awal kita akan mempelajari tentang bagaimana sebuah program image editor seperti photoshop, gimp, dll menambah kecerahan sebuah gambar (brightness) dan negasi. sebuah gambar itu sebenarnya terdiri dari titik-titik yang disebut pixel. dimana pixel ini mengandung 2 informasi, yaitu koordinat dan warna. nilai sebuah warna adalah mulai 0 sampai 255, dimana 0 berarti hitam dan 255 berarti putih. nah, untuk menambahkan brightness kita hanya perlu menambahkan nilai warna sebelumnya dengan sebuah konstanta. tujuannya adalah menambahkan nilainya agar mendekati kewarna putih sehingga gambar lebih terang
rumus brightness adalah f'(x,y)=f(x,y)+c
dimana f'(x,y) : nilai warna baru setelah ditambah konstanta
f(x,y) : nilai awal warna
c : kontanta
source code brightness dapat dilihat pada file yang anda download tadi pada file brightness.php di folder editor.
algoritmanya adalah sebagai berikut
1. tentukan konstanta c (untuk nilai inputan yang sudah ditentukan, ini bisa dimodifikasi jika nilai c ingin ditentukan oleh user)
2. load gambar asli. pada php dengan perintah
imagecreatefromjpeg
3. mengetahui tinggi & lebar gambar asli. pada php dengan perintah
imagesx (untuk lebar) dan imagesy (untuk tinggi)
imagesx (untuk lebar) dan imagesy (untuk tinggi)
4. membuat image baru. pada php dengan perintah
imagescreatetruecolor(lebar, tinggi)
5. membuat perulangan untuk lebar dan tinggi
misal
for ($x=0; $x<lebar;$x++){
for($y=0;$y<tinggi;$y++){
$rgb=imagescolorat ($img, $x, $y);
$cols=imagescolorforindex($img, $rgb);
$r=$cols('red');
$g=$cols('green');
$b=$cols('blue');
$rr=$r+c //rumus brigtness diterapkan disini
if($rr>255) {$rr=255} //pembatasan jika input melebihi 0-255
if($rr<0){$rr=0}
$gg=$g+c;
if($gg>255){$gg=255}
if($gg<0){$gg=0}
$bb=$b+c;
if($bb>255){$bb=255}
if($bb<0){$bb=0}
6. meletakkan pixel dalam pixel baru. pada php dengan perintah
imagecolorlocate(imagebaru, $rr, $gg, $bb);
imagesetpixel(imagebaru, x, y, warna);
sedangkan untuk negasi atau membuat gambar dengan efek negatif prinsipnya adalah dengan membalik nilai warna.
rumus negasi adalah f'(x,y)=255-f(x,y)
algoritmanya sama, kita hanya tinggal merubah rumus brightness diatas dengan rumus negasi. file sourcecode negasi ada di folder editor dengan nama negasi.php
Comments
Post a Comment