PandoraBox: Membuat Chart dalam PHP
Demo Blog

Membuat Chart dalam PHP

by Sapto Mexavriand kategori :

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

<?php
dl("../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

<?php
dl("../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:

0 komentar Read More ...

0 komentar


Posting Komentar

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!