Anda di halaman 1dari 3

Menggambar Dengan PHP (bagian 2)

Minggu lalu fungsi-fungsi dasar untuk menggambar telah Anda pelajari. Dengan fungsi-fungsi
dasar tersebut ibaratnya Anda sedang mempersiapkan kanvas beserta peralatan gambarnya. Nah, kali
ini kita belajar lebih jauh dengan mempelajari fungsi-fungsi yang digunakan untuk menggambar.
Inilah fungsi-fungsi untuk menggambar tersebut.

Fungsi ImageArc()
Fungsi ini merupakan fungsi yang digunakan untuk menggambar bentuk elips, baik berupa
kurva terbuka maupun kurva tertutup. Sintaksnya adalah sebagai berikut:

ImageArc($img, x, y, l, t, aw, ak, $warna)

Fungsi ini akan menggambar bentuk elips dengan pusat di x,y (0,0 terletak di kiri atas), dengan
tinggi t dan lebar l, serta titik awal dan titik akhir diwakili oleh aw dan ak dalam derajat. Dengan
demikian, jika t dan l diisi dengan nilai yang sama, kemudian aw dan ak adalah 0 dan 360, maka yang
tergambar adalah lingkaran.
Berikut ini akan diberikan contoh untuk menggambar elips.

<?
Header(“Content-Type:image/jpeg”);
$img = ImageCreate(300,300);
$biru = ImageColorAllocate($img,0,0,255);
$putih = ImageColorAllocate($img,255,255,255);
ImageFill($img,0,0,$putih);
ImageArc($img,150,150,150,280,0,360,$biru);
ImageJPEG($img);
?>

Untuk diperhatikan, selama ini dalam memberikan contoh-contoh skrip PHP, PCplus selalu
menggunakan tag-tag HTML, diawali dengan tag <HTML>, <HEAD>, dan seterusnya. Namun kali ini
tag-tag tersebut tidak digunakan, sebab fungsi header pada skrip tersebut memberikan informasi bahwa
output yang dikirimkan ke browser memiliki content-type berupa file gambar, bukan file HTML.
Karena elips tersebut digambar mulai dari 0 hingga 360 derajat, maka gambar yang dihasilkan
akan berupa kurva tertutup. Hasilnya dapat dilihat pada gambar 1. Jika misalnya elips digambar mulai
dari 0 hingga 180 derajat, maka hasilnya adalah setengah elips, atau elips dengan kurva terbuka. Lihat
gambar 2.
Untuk menggambar elips dengan kurva selalu tertutup, Anda dapat menggunakan fungsi
ImageEllipse. Sintaksnya adalah sebagai berikut:

imageellipse ($img, x, y, l, t, $warna)

Fungsi ini baru terdapat pada PHP 4.0.6 dan membutuhkan GD 2.0.2 atau sesudahnya. Library
ini dapat Anda dapatkan di http://www.boutell.com/gd.

Fungsi ImageLine()
Fungsi ini digunakan untuk menggambar garis. Sintaksnya adalah sebagai berikut:

ImageLine($img,x1,y1,x2,y2,$warna)

Parameter x1,y1 merupakan koordinat awal garis dan x2,y2 merupakan koordinat akhir garis.
Berikut akan diberikan contoh menggambar garis.
<?
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);
ImageLine($img,0,0,300,300,$biru);
ImageLine($img,0,150,300,150,$merah);
ImageJPEG($img);
?>

Hasilnya dapat dilihat pada gambar 3.


Ada sebuah fungsi yang mirip dengan ImageLine(), yaitu ImageDashedLine(), yang digunakan
untuk menggambar garis putus-putus. Sintaks penggunaannya sama persis dengan fungsi ImageLine().

Fungsi ImageRectangle()
Fungsi ini digunakan untuk menggambar empat persegi panjang. Sintaksnya adalah sebagai
berikut:

ImageRectangle($img,x1,y1,x2,y2,$warna)

Parameter x1,y1 merupakan titik kiri atas dari empat persegi panjang, sedangkan x2,y2
merupakan titik kanan bawahnya.
Berikut akan diberikan contoh menggambar empat persegi panjang.

<?
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);
ImageRectangle($img,0,0,200,200,$biru);
ImageJPEG($img);
?>

Hasilnya dapat dilihat pada gambar 4.

Fungsi ImagePolygon()
Fungsi ini digunakan untuk menggambar polygon (kurva banyak sisi atau banyak sudut).
Sintaksnya adalah sebagai berikut:

imagepolygon ($img, array_sudut, jml_sudut, $warna)

Parameter array_sudut adalah array yang berisi koordinat dari setiap titik sudut polygon,
misalnya $titik[0]=x1, $titik[1]=y1, $titik[2]=x2, $titik[3]=x3, dan seterusnya. Parameter jml_sudut
adalah jumlah titik sudut dari polygon yang akan digambar.
Berikut akan diberikan contoh menggambar polygon.

<?
Header("Content-Type:image/jpeg");
$img = ImageCreate(300,300);
$warna = ImageColorAllocate($img,157,25,12);
$putih = ImageColorAllocate($img,255,255,255);
ImageFill($img,0,0,$putih);
$titik[0]=0;
$titik[1]=0;
$titik[2]=60;
$titik[3]=30;
$titik[4]=60;
$titik[5]=100;
$titik[6]=120;
$titik[7]=190;
$titik[8]=210;
$titik[9]=60;
ImagePolygon($img,$titik,5,$warna);
ImageJPEG($img);
?>

Karena akan dibuat polygon dengan 5 titik sudut, maka diperlukan array dengan 10 komponen,
karena setiap titik sudut memerlukan 2 angka sebagai koordinatnya. Dengan demikian, contoh gambar
polygon tersebut akan mempunyai titik sudut pada (0,0), (60,30), (60,100), (120,190), dan (210,60).
Hasilnya dapat dilihat pada gambar 5.

Dari contoh-contoh tersebut dapat Anda lihat bahwa pada dasarnya alur pemrograman
menggambar dengan PHP cukup sederhana. Alur pemrogramannya adalah sebagai berikut:

• Pertama kirimkan header berisi informasi gambar yang akan dihasilkan.


• Kedua buatlah sebuah gambar dengan fungsi ImageCreate
• Ketiga alokasikan warna-warna yang akan digunakan
• Keempat warnailah kanvas dengan salah satu warna yang telah dialokasikan
• Kelima buatlah gambar dengan fungsi-fungsi gambar yang akan kita pelajari tadi.
• Terakhir “cetak” gambar tersebut dengan fungsi output gambar.

OK sampai di sini dulu, masih ada beberapa fungsi yang akan diberikan minggu depan.
Bagi Anda yang membutuhkan artikel-artikel PHP yang dimuat di PCplus edisi lama, silakan
kunjungi www.dm2p.com.