Membuat Chart dalam PHP
by Sapto Mexavriand kategori : Pemrograman
Library fungsi PHP dilengkapi dengan fasilitas untuk membuat grafik/image secara on the fly . format gambar yang didukung PHP adalah, png/png/png. mulai pada PHP versi 4 maka format png tidak didukung lagi karena masalah lisensi. setiap situs web yang menggunakan gambar dengan format png diharuskan membayar royalti 5 sen $ kepada penciptanya, karena hal itu maka pengembang PHP tidak lagi menggunakannya. Akan tetapi masih ada pihak ketiga yang menyediakan librari fungsi yang dapat memungkinkan kita menghasilkan file dengan format png. dengan cara melakukan sebuah pembuatan grafik / chart.
Membuat Kanvas
$varImage=ImageCreate($lebar, $tinggi);$varImage : Adalah variable yang akan dihasilkan untuk menggambar kanvas.
$lebar : Adalah variable yang menyimpan ukuran dalam lebar dan gambar yang akan dibuat dalam point
$tinggi : Adalah variable yang menyimpan ukuran dalam tinggi gambar yang dinyatakan dalam point
Sistem Koordinat
Pada saat kita melakukan penggambaran pada kanvas maka perlu dipahami tentang sistem koordinat yang digunakan. Sistem koordinat yang digunakan adalah koordinat kartesius, dengan posisi 0,0 sebagai x,y awal ditempatkan pada pojok kiri atas.
Definisi Warna
$warna=ImageColorAlocate($varImage,$R, $G, $B);
$warna : Adalah nilai dari warna yang akan dihasilkan pada kanvas $varImage berdasarkan kombinasi nilai RGB(red, green, blue)
$varImageAdalah tempat kanvas untuk menggambar
$R : Adalah konstanta nilai merah
$G : Adalah konstanta nilai hijau
$B : Adalah konstanta nilai biru
Menggambar Bentuk Garis pada Kanvas
$imageLine($varImage, $L, $T, $B, $R, $warna);
$L : Adalah koordinat pojok kiri
$T : Adalah koordinat pojok atas
$B : Adalah koordinat pojok kanan
$R : Adalah koordinat pojok bawah
Mengisi Warna pada Kanvas
ImageFill($varImage, $x, $y, $warna);
$x : Koordinat x temasuk daerah yang akan diwarnai
$y : Koordinat y temasuk daerah yang akan diwarnai
Menulis Text pada Kanvas
$ImageString($varImage, noFont, $x, $y, $text, $warna);
$noFont : Adalah nomor font yang akan digunakan untuk menuliskan
$text a : Adalah tulisan yang dituliskan pada kanvas
Mengeluarkan Hasil
Header("Content-type: Image/png");
ImagePNG($varImage);
Header() : Merupakan fungsi yang digunakan untuk mendefinisikan tipe dari output yang dikirimkan pada browser
ImagePNG() : Merupakan fungsi untuk mengeluarkan hasil gambar dalam format gambar PNG
Membersihkan Resource setelah Menggambar
ImageDestroy() fungsi untuk menghapus vaiable kanvas yang telah digunakan
ImageDestroy($varImage);
Mengaktifkan Librari GD
Pada windows librari GD belum termasuk pada internal PHP, karena diaktifkan terlebih dahulu. dengan menggunakan dl() - dynamic load. Librari untuk fungsi PHP ini bernama php_gd.dll ada pada direktori ekstensi dibawah direktori file PHP agar dibaca server.
Jika anda mengunakan Linux umumnya librari GD sudah ada dalam paket PHP sehingga tidak perlu lagi memberikan perintah menggunakan sintaks seperti dl("extentions/php_gd.dll").
Contoh Kanvas I
<?phpdl("../extensions/php_gd.dll");
Header( "Content-type: image/png");
$image = imagecreate(200,200);
$maroon = ImageColorAllocate($image, 225, 0, 225);
ImageFilledRectangle ($image, 0, 0, 200, 200, $maroon);
ImagePNG ($image);
ImageDestroy ($image);
?>
Kemudian simpan dengan nama coba10_2.php
Contoh Kanvas II
<?phpdl("../extensions/php_gd.dll");
Header( "Content-type: image/png");
$image = imagecreate(200,200);
$maroon = ImageColorAllocate($image, 225, 0, 225);
$white = ImageColorAllocate ($image, 225, 225, 225);
$green = ImageColorAllocate ($image, 0, 100, 0);
ImageFilledRectangle ($image, 0, 0, 200, 200, $maroon);
ImageRectangle ($image, 10, 10, 190, 190, $white);
ImageFilledRectangle ($image, 50, 70, 150, 150, $green);
ImageString($image, 3, 15, 15, 'png chart php' ,$green);
ImagePNG ($image);
ImageDestroy ($image);
?> Share
Baca Artikel Terkait Lainnya:
:: Categories ::
Blogumulus by Roy Tanck and Amanda Fazani
:: Widgets ::
:: TopTen Post ::
:: Followers ::
:: Top Commentators ::
Budayakan berkomentar, Saya untung, Anda pun dapat backlink.
0 komentar