Kalam Qolbu

Kamis, 23 Juli 2009

01.07 - No comments

Menggambar Dengan PHP (Bagian 1)

Menggambar Dengan PHP (Bagian 1)

.
Ya, kita akan belajar bagaimana menggambar dengan PHP.

Sebagai langkah awal periksalah dahulu versi PHP yang Anda gunakan apakah telah memiliki kemampuan untuk menggambar. Gunakan fungsi phpinfo() untuk memeriksanya. Sekedar mengingatkan, cara menggunakan fungsi phpinfo() adalah sebagai berikut: buatlah sebuah file php yang hanya berisi skrip berikut ini:



Untuk pengguna Linux, jalankan file tersebut lalu periksalah bagian configure command apakah terdapat perintah-perintah berikut:

� --with-gd
� --with-jpeg-dir=[namadirektori]
� --with-png-dir=[namadirektori]

Jika ada, maka PHP yang Anda gunakan dapat digunakan untuk menghasilkan gambar berekstensi .jpg atau .png.

Anda juga dapat memeriksa di bagian gd dan periksalah apakah GD Support, JPG Support, dan PNG Support semuanya enabled. Bandingkan dengan gambar 1.



Seandainya semua tidak ada, maka Anda harus menginstall sendiri library-library tambahan yang diperlukan. Setidaknya ada dua library tambahan yang diperlukan, yaitu jpeg-6b dan gd library. Berikut adalah langkah-langkah instalasinya:

Instalasi jpeg-6b
Untuk mendapatkan jpeg-6b, Anda dapat mendownloadnya dari ftp://ftp.uu.net/graphics/jpeg/. Downloadlah file yang bernama jpegsrc.v6b.tar.gz. Setelah itu langkah yang harus dilakukan adalah sebagai berikut:

# gunzip jpegsrc.v6b.tar.gz
# tar �xvf jpegsrc.v6b.tar
# cd [direktori jpeg-6b]
# ./configure
# make
# make test

Jika setelah make test tidak ada kesalahan yang muncul, maka lakukan hal ini:

# make install

Langkah instalasi ini dilakukan pada distribusi RedHat 7.1. Untuk distribusi yang lain cara instalasinya sama, hanya saja bila perlu mungkin harus memodifikasi file Makefile. Untuk lebih lengkapnya Anda bisa merujuk pada file install.doc yang terletak di direktori jpeg-6b.

Instalasi gd library
Untuk mendapatkan gd library, Anda dapat mendownloadnya dari http://www.boutell.com/gd/. Sedapat mungkin downloadlah versi terbarunya. Langkah instalasinya adalah sebagai berikut:

# gunzip gd-x.x.x.tar.gz
# tar �xvf gd-x.x.x.tar
# cd [direktori gd-x.x.x]

Pada distribusi RedHat (dan mungkin juga distribusi lainnya), kemungkinan besar Anda harus memodifikasi file Makefile sebagai berikut:

� Pada baris yang bertuliskan LIBS=-lgd -lpng -lz -lm harus Anda tambahkan -ljpeg menjadi LIBS=-lgd -lpng -lz -lm -ljpeg.
� Pada baris yang bertuliskan LIB_DIRS, gantilah LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib menjadi IBDIRS=-L. -L/(direktori gd-x.x.x) -L/usr/lib/X11 -/usr/X11R6/lib
� Pada baris yang bertuliskan INSTALL_INCLUDE =/usr/local/include gantilah direktori /usr/local/include dengan direktori gd-x.x.x.

Setelah itu instalasi dilakukan dengan cara berikut:

# make
# make install

Untuk distribusi yang lain, silakan Anda merujuk pada file index.html yang terletak pada direktori gd-x.x.x.

Konfigurasi Ulang PHP
Setelah kedua paket tambahan tersebut, Anda harus mengkonfigurasi ulang PHP Anda dengan cara sebagai berikut:

# cd [direktori php Anda]
# ./configure -�with-apxs --with-gd=direktori_gd --with-jpeg-dir=direktori_jpeg-6b
# make
# make install

Sesuaikan direktori_gd dan direktori_jpeg-6b dengan direktori tempat Anda menginstall kedua library tersebut. Setelah PHP dikonfigurasi ulang, Anda bisa menggunakan fungsi phpinfo() untuk melihat apakah konfigurasi ulang ini berhasil dan melihat tipe-tipe gambar yang didukung.

Untuk diperhatikan, Anda dapat melakukan hal di atas apabila dahulu Anda menginstall PHP dari source codenya, bukan dari rpmnya.

Bagi para pengguna Windows, umumnya kemampuan menggambar PHP dapat diperoleh cukup dengan menghilangkan tanda ; (uncoment) di depan pernyataan extension=php_gd.dll di file php.ini. Dan hal ini juga baru dapat dilakukan apabila Anda menginstall paket distribusi PHP for Windows yang lengkap, bukan dari installernya. PCplus memang sering menyarankan untuk tidak mengedit file php.ini, namun kali ini memang terpaksa harus dilakukan agar PHP Anda memiliki kemampuan untuk menggambar. Jika nantinya Anda ingin mengupload aplikasi Anda ke web server, periksalah dahulu apakah web server tersebut memiliki dukungan untuk menggambar dengan PHP. Lagi-lagi Anda dapat menggunakan fungsi phpinfo() untuk memeriksanya.

Gambar 2 menunjukkan hasil yang diberikan oleh fungsi phpinfo() pada salah satu layanan web hosting di Indonesia.



Nah, setelah berbagai perangkat yang diperlukan telah diinstall, maka PHP kini dapat digunakan untuk menggambar. Untuk dapat menggambar dengan PHP, Anda harus mengenal fungsi-fungsi gambar di PHP. PHP menyediakan beberapa fungsi yang digunakan untuk �menggambar�, baik untuk membuat gambar garis, kurva, huruf, warna, dan lain-lain. Sebelum fungsi gambar digunakan, mula-mula skrip harus mengirimkan header yang memberitahukan format gambar yang akan dibuat. Untuk pengiriman header digunakan fungsi header() sebagai berikut:

Header(�Content-Type:image/format�)

Dengan format adalah format gambar yang akan dihasilkan. Format yang didukung diantaranya adalah gif, jpeg, png, dan wbmp. Khusus untuk format wbmp, isi content-type yang harus dituliskan adalah image/vnd.wap.wbmp.

Fungsi-fungsi gambar tersebut di antaranya adalah:

Fungsi ImageCreate()
Fungsi ini merupakan fungsi yang pertama kali harus dijalankan dalam membuat sebuah gambar. Sintaksnya adalah sebagai berikut:

$img = Imagecreate(x,y)

Parameter x dan y merupakan integer yang menyatakan ukuran lebar dan tinggi gambar dalam pixel, sedangkan $img merupakan variabel yang menyimpan nilainya. Fungsi ini dapat dibayangkan sebagai fungsi yang menyiapkan kanvas dengan ukuran x kali y. Variabel $img untuk selanjutnya akan digunakan sebagai parameter pada fungsi-fungsi selanjutnya.

Fungsi ImageColorAllocate()
Fungsi ini merupakan fungsi yang mengalokasikan sebuah warna dan menyimpannya ke dalam sebuah variabel. Sintaksnya adalah sebagai berikut:

$warna = ImageColorAllocate($img,r,g,b)

Parameter r, g, dan b merupakan integer dengan jangkauan nilai 0 sampai dengan 255 yang menyatakan suatu komposisi warna dalam format RGB (Red Green Blue). Semakin kecil nilainya, semakin gelap warnanya. Dengan demikian, komposisi warna 0, 0, 0 merupakan warna hitam dan komposisi warna 255, 255, 255 merupakan warna putih. Variabel $warna untuk selanjutnya akan digunakan sebagai parameter pada fungsi-fungsi selanjutnya.

Fungsi ImageColorDeAllocate()
Fungsi ini merupakan fungsi yang berkebalikan dengan fungsi ImageColorAllocate(), atau dengan kata lain menghapus sebuah warna yang telah dialokasikan. Sintaksnya adalah sebagai berikut:

ImageColorDeAllocate($img,$warna)

Fungsi Output Gambar
Ada 4 fungsi yang digunakan untuk menghasilkan output ke browser berupa gambar, yaitu ImageGIF, ImageJPEG, ImagePNG, dan ImageWBMP. Penggunannya tergantung dari tipe gambar yang didukung oleh versi PHP yang Anda gunakan. Sintaksnya adalah sebagai berikut:

ImageGIF($img[,namafile])
ImagePNG($img[,namafile])
ImageWBMP($img[,namafile])
ImageJPEG($img[,namafile[,kualitas]])

Jika parameter namafile disertakan, maka output tidak dikirimkan ke browser, melainkan menjadi sebuah file yang bernama namafile.

Fungsi ImageFill()
Fungsi ini digunakan untuk memberi warna pada �kanvas� yang telah dibuat. Sintaksnya adalah sebagai berikut:

ImageFill($img,x,y,$warna)

Parameter x,y adalah koordinat yang merupakan titik awal pewarnaan, dengan nilai 0,0 terletak pada kiri atas.

Fungsi ImageDestroy()
Fungsi ini akan mengosongkan variabel yang digunakan untuk menyimpan gambar. Sintaksnya adalah sebagai berikut:

ImageDestroy($img)

OK, fungsi-fungsi dasar untuk menggambar telah diberikan. Minggu depan kita akan belajar lebih jauh dengan mempelajari fungsi-fungsi yang digunakan untuk menghasilkan gambar garis, lingkaran, polygon, dan lain-lain.

0 comments:

Posting Komentar

RSS