Membuat Thumbnail dengan PHP dengan Cara Resize dan Crop Image
10:13 14 Feb 2012 @PHP
Thumbnail merupakan gambar kecil atau seperti icon yang
merupakan hasil resize menjadi ukuran lebih kecil dari gambar aslinya.
Secara sederhana untuk membuat thumbnail, kita cukup merubah ukuran gambar
menjadi lebih kecil. Tetapi yang jadi masalah adalah kalau mentah-mentah
diubah ukurannya, maka jika gambar yang tidak persegi (gambarnya bisa lebih
panjang atau lebih tinggi) akan menghasilkan gambar yang tidak bagus atau
perbandingan antara panjang dan lebar tidak sama dengan aslinya.
Untuk mengatasi gambar yang persegi panjang, supaya menghasilkan
thumbnail yang bagus, maka yang perlu dilakukan adalah:
Resize gambar, dengan perbandingan panjang dan lebarnya sama dengan
aslinya
Crop gambar di tengah-tengah.
Coba perhatikan ilustrasi membuat thumbnail dari gambar yang persegi
panjang di bawah:
Kode PHP Thumbnail
Setelah mengetahui konsep pembuatan thumbnail di atas, mari kita buat
kode PHP nya. Di sini kita akan menggunakan GD Functions yang ada di PHP.
Untuk menggunakan fungsi GD ini, pastikan anda sudah mengaktifkan GD
library. Caranya edit file php.ini, lalu cari baris
;extension=php_gd2.dll, hilangkan tanda titik komanya. Restart
kembali web server anda.
Berikut kode PHP untuk membuat thumbnail
drzthumb.php
<?php
// Gambar aslinya$filename='gambar.jpg';// ambil ukuran asli imagelist($lebar_asli,$tinggi_asli) =getimagesize($filename);$persegi=200;//ukuran thumbnail, artinya 200 x 200;$canvas=imagecreatetruecolor($persegi,$persegi);$current_image=imagecreatefromjpeg($filename);if($lebar_asli>$tinggi_asli){$tinggi=$persegi;$lebar=ceil(($persegi/$tinggi_asli) *$lebar_asli);$x=ceil(($lebar/2) - ($persegi/2));imagecopyresized($canvas,$current_image,0,0,$x,0,$lebar,$tinggi,$lebar_asli,$tinggi_asli);}else{$lebar=$persegi;$tinggi=ceil(($persegi/$lebar_asli) *$tinggi_asli);$y=ceil(($tinggi/2) - ($persegi/2));imagecopyresized($canvas,$current_image,0,0,0,$y,$lebar,$tinggi,$lebar_asli,$tinggi_asli);}header('Content-type: image/jpeg');imagejpeg($canvas);imagedestroy($canvas);
?>
Untuk menjalankannya gunakan kode HTML berikut <img
src="drzthumb.php">
Dari : no (18:18 19 Feb 2012) Web : - bgus bnget bang tutorial nya, kbetulan lagi cari2 yang mudah di mengerti. hahaha
mau tanya nih bang, klo boleh tau web ini buatnya pke cms atw bikin sendiri ya?
#2
Dari : Desrizal (09:55 21 Feb 2012) Web : http://blog.codingwear.com Buat sendiri
#3
Dari : joee (07:23 07 Mar 2012) Web : - kalau untuk resize upload gambar, gimana bang Desrizal?
#4
Dari : no (17:14 10 Mar 2012) Web : - wah keren, klo gtu mau request dong, cara bikin rss dan sitemap pke php gmn ya?
soalnya lagi belajar n pingin bisa...
#5
Dari : Septia Mujizat (09:53 24 Mar 2012) Web : http://salingsharing.cu.cc Keren gan, ane coba ya... :D
#6
Dari : Desrizal (18:23 26 Mar 2012) Web : http://blog.codingwear.com untuk yang dari database, tinggal ambil nilai $filename dari database
#7
Dari : Nur Rochim (09:22 09 Apr 2012) Web : http://student.d3ti.mipa.uns.ac.id/ocim Selamat Pagi Master..
Saya ingin bertanya... Apabila saya memiliki angka 2,66666667 dan akan say bulatkan menjadi 2 angka yaitu 2,67.. Bagaimana script kode PHP nya master?
Mohon ditanggapi. Terima Kasih
#8
Dari : Anton Hilman (17:19 16 Apr 2012) Web : http://www.hilman.web.id wah ini yang saya cari2 dari dulu mas. makasih mas saya coba dulu. thx ya mas.
#9
Dari : manz (21:07 11 Jun 2012) Web : - Mas,,kalo di CodeIgniter gimana ya??
Mohon pencerahannya..
#10
Dari : hapis (19:09 14 Jul 2012) Web : - mas, klo pake format gambar selain jpg itu gmn ya?
#11
Dari : yogis (08:47 11 Oct 2012) Web : - klo gambar ada di folder lain gimana mas brow..
drzthumb.php disimpan di folder gambar atau diluar folder gambar
#12
Dari : abuibrahim11 (16:48 24 Apr 2013) Web : http://blog.spesial.info manteb benerr.. makasih bro..