Blog Archives

PHP – Membuat Shape (bangun ruang dan mewarnainya)

Ditutorial ini, bangun ruang yang akan coba kita buat ada 2, yaitu kotak, dan lingkaran.
Untuk membuat kotak dalam PHP ada fungsi khusus bernama imagerectangle();

<?php
header("Content-type:image/jpeg");
$gb= imagecreate(500,500);
$bg_color= imagecolorallocate($gb,255,255,255);
$border= imagecolorallocate($gb,0,0,0);
$text_color= imagecolorallocate($gb,255,0,0);
$text = "100x100";
imagestring($gb,14,30,70,$text,$text_color);
imagerectangle($gb,20,50,120,150,$border);
imagejpeg($gb);
imagedestroy($gb);
?>

Preview untuk kode di atas adalah :

Untuk mewarnai kotak, ada fungsi khusus yang juga telah diciptakan dalam PHP yaitu : imagefilledrectangle();

 
<?php
header("Content-type:image/jpeg");
$gb= imagecreate(500,500);
$bg_color= imagecolorallocate($gb,255,255,255);
$warna1= imagecolorallocate($gb,145,2,154);
$warna2= imagecolorallocate($gb,78,87,0);
$border= imagecolorallocate($gb,0,0,0);
imagerectangle($gb,20,50,120,150,$border);
imagefilledrectangle($gb,20,50,120,100,$warna1);
imagefilledrectangle($gb,20,100,120,150,$warna2);
imagejpeg($gb);
imagedestroy($gb);
?>

Preview untuk kode di atas adalah :

Untuk menciptakan objek lingkaran, digunakan fungsi imageellipse();

 
<?php
header("Content-type:image/jpeg");
$bg= imagecreate(500,500);
imagecolorallocate($bg,255,255,255);
$line= imagecolorallocate($bg,0,0,0);
$color = imagecolorallocate($bg,201,5,33);
imageellipse($bg,50,50,100,100,$line);
imagefilledellipse($bg,50,50,100,100,$color);
imagejpeg($bg);
imagedestroy($bg);
?>

Preview Untuk kode di atas adalah :

PHP – Membuat garis lurus dan garis putus

Fungsi dasar yang digunakan untuk membuat garis lurus biasa adalah imageline();

<?php
header("Content-type:image/jpeg");
$gb= imagecreate(500,500);
$bg_color= imagecolorallocate($gb,0,0,0);
$line_color= imagecolorallocate($gb,255,255,255);
//garis_hoizontal
$width= 400;//dalam pixel
$x_mulai=20;
$y_mulai=50;
$x_akhir= $width+$x_mulai;
imageline($gb,$x_mulai,$y_mulai,$x_akhir,$y_mulai,$line_color);
//garis vertikal
$y_akhir=$width+$y_mulai;
imageline($gb,$x_mulai,$y_mulai,$x_mulai,$y_akhir,$line_color);
//garis diagonal
imageline($gb,$x_mulai,$y_mulai,$x_akhir,$y_akhir,$line_color);
imagejpeg($gb);
imagedestroy($gb);
?>

Preview kode diatas adalah

Untuk garis putus-putus, fungsi umum yang telah ada dalam PHP adalah imagedashedline(); tetapi fungsi ini kurang sempurna karena tidak dapat membuat garis putus secara horisontal dan diagonal, hanya dapat membuat garis vertikal saja. Maka dari kita perlu membuat fungsi baru untuk menciptakan garis putus-putus sebagai berikut :

<?php
function garisPutus($gb,$x1,$y1,$x2,$y2,$fg,$bg){
	$string= array($fg,$fg,$fg,$fg,$bg,$bg,$bg,$bg);
	imagesetstyle($gb,$string);
	imageline($gb,$x1,$y1,$x2,$y2,IMG_COLOR_STYLED);
}
header("Content-type:image/jpeg");
$gb= imagecreate(500,500);
$bg_color= imagecolorallocate($gb,0,0,0);
$line_color= imagecolorallocate($gb,255,255,255);
//garis_horisontal
garisPutus($gb,20,50,320,50,$line_color,$bg_color);
//garis_vertikal
garisPutus($gb,20,50,20,320,$line_color,$bg_color);
//garis_diagonal
garisPutus($gb,20,50,320,320,$line_color,$bg_color);
imagejpeg($gb);
imagedestroy($gb);
?>

Preview dari kode di atas adalah :

PHP – Citra text dengan pengaturan koordinat

Untuk membuat citra text dengan pengaturan koordinat yang perlu anda lakukan hanya merubah parameter ke tiga pada fungsi imagettftext();

<?php
header("Content-type:image/jpeg");
$bg= imagecreate(500,200) or die ("tidak ada dukungan pustaka GD!");
$alokasi_bg_color=imagecolorallocate($bg,255,255,255);//warna hitam
$alokasi_text_color=imagecolorallocate($bg,0,0,0);//warna putih
$cetak= "koordinat 45 derajat";
$huruf="font/contohfont.ttf";
/* file font berada pada direktori font, dgn nm contohfont */
imagettftext($bg,18,45,15,150,$alokasi_text_color,$huruf,$cetak);
/* 45 menandakan derajat, 15, titik x, 100 titik y.*/
imagejpeg($bg);
imagedestroy($bg);
?>

Hasil preview dari kode di atas adalah :

Jika anda kesulitan memahami ini silakan baca dulu
tutorial sebelumnya : Membuat text dengan format font

PHP – Membuat citra grafis text dengan format font

Pada tutorial kedua ini, untuk kategori rekayasa grafis dengan PHP, kita akan mencoba membuat citra(gambar) yang berelement text dilengkapi dengan format font.
*(nb) Sebelumnya silakan copy paste dahulu jenis font yang anda inginkan kedalam direktori kerja anda. Misalkan , file keja anda “latihan2.php” berada di folder PHP, maka copy-pastekan dulu file font yang anda inginkan juga di folder PHP. Namun dalam tutorial ini saya meletakkan file font pada folder “font”, artinya, anda buat folder baru bernama “font”, dan paste-kan file font anda kedalamnya.

Source codenya adalah :

<?php
header("Content-type:image/jpeg");
$bg= imagecreate(300,50) or die ("tidak ada dukungan pustaka GD!");
$alokasi_bg_color=imagecolorallocate($bg,255,255,255);//warna putih
$alokasi_text_color=imagecolorallocate($bg,0,0,0);//warna hitam
$cetak= "belajar grafika php";
$huruf="font/contohfont.ttf";
/* file font berada pada direktori font, dgn nm contohfont */
imagettftext($bg,18,0,5,15,$alokasi_text_color,$huruf,$cetak);
imagejpeg($bg);
imagedestroy($bg);
?>

*(penjelasan) file di atas akan menciptakan sebuah gambar berformat JPEG, karena headernya dibuat JPEG. Fungsi imagecreate(), digunakan untuk membuat gambar awal, pewarnaan gambar awal diambil dari pengalokasian warna yang pertama, di sini alokasi pertamanya adalah $alokasi_bg_color=imagecolorallocate($bg,255,255,255); menghasilkan warna putih. Berbeda dengan membuat citra grafis yang sebelumnya, di sini fungsi yang digunakan untuk mencetak text bukan lagi imagestring() tetapi imagettftext().

Fungsi imagettftext(); memiliki 8 elemen, yaitu, (*source, besar font, posisi dlm derajat, posisi_x, posisi_y, warna, jenis font, string yang akan dicetak).

Preview dari kode di atas akan muncul seperti ini :