Loading...
PHP Javascript Ajax jQuery Tutorial Indonesia
  Desrizal
Mencoba berbagi ilmu yang sedikit dimiliki ini...
Home | PHP Manual Indonesia | Javascript Guide | eBook Ajax jQuery | Codingwear Store | About Me
Search in blog.codingwear.com :

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:

  1. Resize gambar, dengan perbandingan panjang dan lebarnya sama dengan aslinya
  2. 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 image
list($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">

Download Source Code Thumbnail PHP

Tags: Thumbnail PHP Crop Image


Tulisan Lainnya
  1. Membuat Thumbnail dengan PHP dengan Cara Resize dan Crop Image
  2. Cara Koneksi PHP ke Database MS Access 2010
  3. Pengenalan Regex (Regular Expression) di PHP
  4. Captcha Sepakbola
  5. Membuat Sendiri Captcha Kuis Matematika Menggunakan Session PHP
  6. Membuat Sendiri Tombol Share dan Bookmark
  7. Tutorial URL Rewriting dengan .htaccess dan Penerapannya (Contoh Membuat Blog atau Situs Berita)
  8. Membuat Report Format MS Excel (Excel Formatting dan Multi Sheet) Menggunakan PHP, MySQL dan XML
  9. Panduan Lengkap dan Tutorial PHP MySQL Indonesia Untuk Pemula
  10. Membuat File Manager Pada Server Hosting Dengan PHP

Komentar

#1 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..

Komentar
Nama :
Email :
Web :
Komentar :
Captcha Sepakbola
Apakah anda manusia?Lebih baik lagi kalau anda menyukai sepak bola
Sebutkan pemain sepak bola disamping:

Captcha Sepakbola by codingwear


CodingWear merupakan baju kaos keren, baju kaos unik buat para programmer, praktisi IT, pecinta coding

Subscribe in a reader

Follow codingwear on Twitter


Jendela Riau


Blogger Bertuah
Web Development
Book

Designed & Programmed by Desrizal
Copyright (c) 2010