Manipulasi image part 3


Ok, sekarang kita memasuki bagian mengenai menggabungkan 2 buah gambar, gambar yang akan kita olah kali ini adalah gambar dengan tipe file jpg/jpeg. Seperti yang sebelumnya kita lakukan, kita akan membuat 2 buah file php. File pertama untuk masukan user, dan file kedua berfungsi sebagai pengolah dan penampil gambar. Kita akan membuat ini sesederhana mungkin ~padahal aku yg nggak mudeng~, agar lebih mudah dalam prakteknya. File masukan akan kita beri nama image2image.php dan file kedua akan bernama imageCODE.php. Berikut adalah script dari file image2image.php ~saya ambil bagian intinya, yaitu form pengiriman~, file ini secara garis besar sama dengan file text2image.php yang pernah kita buat sebelumnya, perbedaan hanya sedikit sekali! oleh sebab itu tidak saya jelaskan lagi.

image2image.php
<div style=”width: 770px; text-align: left;”>
<h1>Combination between image and image</h1>
<p>
<form action=”imageCODE.php” enctype=”multipart/form-data” method=”POST” target=”_blank”>
Gambar backgroundÇ: <input type=”file” name=”source” value=”cari” size=”40″><br>
Gambar mukaÇÇ: <input type=”file” name=”muka” value=”cari” size=”40″ title=”File type supported jpg or png”><br>
<input type=”submit” value=”Proses”>
</form>
</p>
</div>

File berikutnya adalah imageCODE.php, berikut adalah kode programnya:

//imageCODE.php
<?php
header(“Content-type:image/jpeg”);
$image = @imagecreatefromjpeg(“$source”)
or die(“Tidak ada dukungan library GD!!!”);

Ç$background_color = imagecolorallocate($image,0,0,0);
Ç$text_color = imagecolorallocate($image,255,0,0);
ÇimageTTFtext ($image,12,0,195,25, $text_color,”naruto.ttf”,”from:AsyhadiOne”);
Ç
Ç$implus = imagecreatefromjpeg(“$muka”);
Ç$lebar_implus=imagesX($implus)-1;
Ç$tinggi_implus=imagesY($implus)-1;
Ç$pos_x = imagesX($image)-$lebar_implus-5;
Ç$pos_y = imagesY($image)-$tinggi_implus-5;
Ç
Ç//jika selain gif, maka gunakan cara ini. Sebab jika selain gif tidak bisa otomatis transparan
Ç$warna = imagecolorat($implus,$lebar_implus-1,$tinggi_implus-1);
Çimagecolortransparent($implus,$warna);
Çimagecopymerge($image,$implus,$pos_x,$pos_y,0,0,$lebar_implus,$tinggi_implus,50);
Çimagejpeg($image);
Çimagedestroy($image);
?>

Jika diperhatikan pada awal script, maka tidak terlalu banyak perbedaan dengan file yang pernah kita buat sebelumnya, yaitu textCODE.php. Sehingga dari baris header hingga fungsi imageTTFtext akan kita pass, dan kita masuk ke baris berikutnya yaitu mulai di variabel $implus.
Var $implus ini akan digunakan untuk menampung file kiriman dari image2image.php yang diterima pada var $muka di fungsi imagecreatefromjpeg, $implus ini merupakan var yang menyimpan gambar dan kemudian gambar ini akan menjadi bagian depan/cover dari 2 gambar yang akan kita gabungkan. Sehingga dengan begitu var $source akan menjadi gambar latar belakang/background, sedangkan $implus akan tampil sebagai cover dari $source.
Baris berikutnya adalah pengaturan dari ukuran lebar dan tinggi dari gambar cover, anda bisa mengatur sesuka anda. $pos_x dan $pos_y akan mengatur penempatan dari gambar background pada posisi x dan y. Kita akan menentukan warna dengan imagecolorat(), yang memiliki 3 parameter yaitu resource image, nilai integer x dan nilai integer y. Kemudian baris berikutnya adalah imagecolortransparent() yang memiliki dua buah parameter yaitu resource image dan integer warna, dengan ini maka akan membuat gambar cover menjadi transparan.
Penggabungan gambar akan dilakukan pada fungsi imagecopymerge(), fungsi ini memiliki 9 parameter yaitu:
1. resource destination image,
2. resource source image,
3. integer destination image pada sumbu x,
4. integer destination image pada sumbu y,
5. integer source image pada sumbu x,
6. integer source image pada sumbu y,
7. integer lebar source,
8. integer tinggi source,
9. integer persen kualitas gambar.

Secara garis besar seperti itu, untuk lebih menguasai fungsi-fungsi bawaan yang dipergunakan maka akan lebih baik jika anda membaca manual php dimana anda bisa mendapatkannya di http://www.php.net.
Baik, cukup untuk bagian ketiga ini. Pada hari berikutnya kita akan memasuki file terakhir. InsyaAllah secepatnya.

About asyhadione

jusT an Ordinary man

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: