Beranda :: Basis Web :: Pemrograman PHP :: Membuat Gambar Dengan PHP (bagian 3)
AddThis Social Bookmark Button
Membuat Gambar Dengan PHP (bagian 3) PDF Cetak E-mail
Oleh Hendrik Perdana   
Selasa, 15 September 2009 15:48

Bagian ini merupakan bagian akhir dari sesi membuat gambar dengan PHP. Sebenarnya diluar fungsi-fungsi yang nanti akan diberikan masih banyak lagi fungsi-fungsi menggambar dengan PHP, tugas anda untuk mencari dan mengembangkan lebih lanjut. Jika Anda benar-benar berniat mempelajarinya Anda dapat merujuk sendiri pada PHP documentation yang dapat Anda download di www.php.net.

Nah, pada artikel sebelumnya 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 versi-versi yang lebih tinggi 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:

<?php
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.

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.

<?php
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);
?>

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.

<?php
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.

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:

<?php
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, selamat mencoba dan terus kembangkan kreativitas Anda.