|
Pada artikel sebelumnya fungsi-fungsi dasar untuk menggambar telah kita 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, 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. 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, 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. Jika misalnya elips digambar mulai dari 0 hingga 180 derajat, maka hasilnya adalah setengah elips, atau elips dengan kurva terbuka. 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); ?> 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); ?> 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). 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.
Nah selamat mencoba untuk melihat hasilnya.
|