Anda di halaman 1dari 3

Menggambar Dengan PHP (bagian 3 - habis)

Bagian ini merupakan bagian akhir dari “kursus menggambar” yang PCplus berikan.
Sebenarnya diluar fungsi-fungsi yang nanti akan diberikan masih banyak lagi fungsi-fungsi
menggambar dengan PHP namun sepertinya tidak mungkin jika semuanya dimuat di PCplus. Jika Anda
benar-benar berniat mempelajarinya Anda dapat merujuk sendiri pada PHP documentation yang dapat
Anda download di www.php.net.
Nah, minggu lalu Anda telah belajar menggambar beberapa bentuk seperi elips, garis, kotak,
dan polygon dengan fungsi ImageArc, ImageLine, ImageRectangle, dan ImagePolygon. Ada beberapa
fungsi yang penggunaannya mirip dan menghasilkan bentuk elips, kotak, serta polygon juga namun
kali ini bentuk-bentuk tersebut tidak “kosong” melainkan disertai dengan “isi” warna. Fungsi-fungsi
tersebut adalah:

imagefilledarc()
imagefilledellipse()
imagefilledpolygon()
imagefilledrectangle()

Untuk fungsi imagefilledarc() dan imagefilledellipse() baru dikenal pada PHP 4.0.6 dan
memerlukan library GD 2.0.1 atau lebih. Pada prinsipnya penggunaan fungsi-fungsi ini sama dengan
penggunaan fungsi-fungsi yang diberikan minggu lalu. Berikut adalah salah satu contohnya:

<?
Header("Content-Type:image/jpeg");
$img = ImageCreate(300,300);
$biru = ImageColorAllocate($img,0,0,255);
$merah = ImageColorAllocate($img,255,0,0);
$putih = ImageColorAllocate($img,255,255,255);
ImageFill($img,0,0,$putih);
ImageFilledRectangle($img,0,0,200,200,$biru);
ImageJPEG($img);
?>

Skrip ini menghasilkan gambar kotak yang berwarna biru, bukan hanya rusuknya yang
berwarna biru tetapi seluruhnya berwarna biru. Bandingkan dengan gambar 1.

Fungsi ImageString() dan ImageStringUp()


Kedua fungsi ini digunakan untuk menggambar sebuah string. Perbedaannya adalah fungsi
ImageString() menggambar sebuah string dengan posisi horizontal, sedangkan fungsi ImageStringUp()
menggambar sebuah string dengan posisi vertikal. Sintaksnya adalah sebagai berikut:

ImageString($img,font,x,y,string,$warna)
ImageStringUp($img,font,x,y,string,$warna)

Parameter font terdiri dari integer dari 1 sampai dengan 5 untuk mengambil built-in font dengan
nilai 1 merupakan font berukuran terkecil dan 5 terbesar, sedangkan parameter string adalah string yang
akan dimunculkan sebagai gambar.
Berikut akan diberikan contoh menggambar string.

<?
Header("Content-Type:image/jpeg");
$img = ImageCreate(300,300);
$biru = ImageColorAllocate($img,0,0,255);
$merah = ImageColorAllocate($img,255,0,0);
$putih = ImageColorAllocate($img,255,255,255);
ImageFill($img,0,0,$putih);
ImageString($img,5,30,30,"Belajar PHP",$biru);
ImageStringUp($img,5,150,150,"Mudah lho",$merah);
ImageJPEG($img);
?>

Hasilnya dapat Anda lihat pada gambar 2.

Fungsi ImageFillToBorder()
Fungsi ini akan memberi warna pada suatu area sampai batas tertentu. Sintaksnya adalah
sebagai berikut:

ImageFillToBorder($img,x,y,batas,$warna)

Fungsi ini akan memberi warna sesuai parameter $warna dari x,y sampai dengan menemui
batas yang disebutkan pada parameter batas. Parameter batas sendiri merupakan sebuah warna.
Berikut akan diberikan contoh penggunaannya.

<?
Header("Content-Type:image/jpeg");
$img = ImageCreate(300,300);
$hitam = ImageColorAllocate($img,0,0,0);
$biru = ImageColorAllocate($img,0,0,255);
$putih = ImageColorAllocate($img,255,255,255);
ImageFill($img,0,0,$biru);
ImageArc($img,150,150,250,175,0,360,$putih);
ImageFillToBorder($img,150,150,$putih,$hitam);
ImageJPEG($img);
?>

Pada contoh ini, kanvas akan diberi warna biru, kemudian digambar sebuah elips berwarna
putih. Lalu didalamnya akan diberi warna hitam sampai warna hitam tersebut menemui batasnya, yaitu
warna putih. Jika koordinat titik awal berada di dalam elips, maka warna hitam akan memenuhi elips,
jika titik awal berada di luar elips, maka warna hitam akan memenuhi kanvas yang diluar bidang elips.
Bandingkan hasilnya dengan gambar 3.

Fungsi ImageTypes()
Fungsi ini digunakan untuk memeriksa tipe gambar apa sajakah yang didukung oleh PHP pada
server yang bersangkutan. Sintaksnya adalah sebagai berikut:

ImageTypes()

Fungsi ini akan menghasilkan nilai bit yang bersesuaian dengan format gambar yang didukung,
yaitu IMG_GIF, IMG_JPG, IMG_PNG, dan IMG_WBMP. Jika ingin diperiksa apakah PHP pada
server yang bersangkutan mendukung format JPEG, maka dapat digunakan cara sebagai berikut:

<?
if (ImageTypes() & IMG_JPG) {
echo "PHP mendukung format JPEG";
}
?>

Fungsi ImageSetPixel()
Fungsi ini digunakan untuk menggambar sebuah titik (pixel). Sintaksnya adalah sebagai
berikut:

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

Parameter x,y merupakan koordinat dimana titik tersebut akan digambar.


OK, sekian dulu pembahasan mengenai fungsi-fungsi menggambar yang terdapat di PHP.
Berbekal pengetahuan tersebut, minggu depan PCplus akan memberikan tutorial menggambar sebuah
pie chart yang nantinya akan diterapkan pada aplikasi jajak pendapat.
Sebagai penutup untuk edisi nomor ini, saya selaku pengasuh rubrik pemrograman di PCplus
memohon maaf apabila ada beberapa pertanyaan yang masuk ke email saya di yahya@e-pcplus.com
yang tidak mampu saya jawab. Untuk itu saya mengajak Anda semua untuk bergabung di milis
dm2p@yahoogroups.com (serta sekaligus mengunjungi situs saya di www.dm2p.com). Milis ini
utamanya akan membahas masalah-masalah pemrograman. Di milis tersebut saya harapkan Anda bisa
saling membantu dan tidak harus selalu tergantung pada saya selaku pengasuh rubrik pemrograman di
PCplus.
Terima kasih.