Resize Gambar menggunakan PHP

Salah satu hal penting untuk membuat website lebih cepat loadingnya adalah dengan me-resize ukuran gambar. Terkadang kita memiliki gambar yang ingin ditampilkan pada website tapi ukuran gambar tersebut tidak cocok. Dan malas jika harus menggunakan Photoshop atau software editor gambar lainnya untuk merubah ukuran dan meng-upload kembali gambar tersebut. :)

Namun hal itu bisa disiasati dengan menggunakan script html dengan menambahkan attribut width=”..px”┬átetapi script tersebut sama saja dengan meload gambar aslinya dan tentu ukuran file nya pun sama dengan ukuran asli, dan itu tidak akan membuat loading website anda menjadi lebih cepat.

Untuk mengatasi hal tersebut dibawah ini terdapat script PHP yang berfungsi membuat ukuran gambar anda lebih kecil dan tentu ukuran file gambar tersebut akan mengecil juga, sehingga loading website bisa lebih cepat.

resize.php

<?php
$filename = $_GET['src'];
$percent = $_GET['scale'];
$quality = ($_GET['q'])?$_GET['q']:100;
header('Content-Type: image/jpeg');
$img_type = exif_imagetype($filename);
list($width, $height) = getimagesize($filename);
$newwidth = $width * ($percent / 100);
$newheight = $height * ($percent / 100);
$image_p = imagecreatetruecolor($newwidth, $newheight);
if($img_type == 1){
$image = imagecreatefromgif($filename);
}elseif($img_type == 2){
$image = imagecreatefromjpeg($filename);
}elseif($img_type == 3){
$image = imagecreatefrompng($filename);
}
imagecopyresized($image_p, $image, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($image_p, null, $quality);
imagedestroy($image_p);
?>

Gambar ukuran asli :

Untuk menggunakan script PHP diatas cukup simpan pada tag img di html, seperti ini

index.php

<img src="resize.php?src=http://khairilnst.com/acer2.png&scale=50" />

Hasil:

Script diatas akan memperkecil ukuran gambar sebesar 50% dari gambar asli.

Dan untuk merubah kualitas gambar, tambahkan &q=(1-100) pada atribut src, seperti ini

<img src="resize.php?src=http://khairilnst.com/acer2.png&scale=50&q=30">

Hasil:

Jika ada kesalahan pada script diatas, silahkan komentar pada tulisan ini.

Semoga bermanfaat.

6 Comments

  1. Gan, setahu ane kan ukuran file yg bisa diupload pake PHP gak lebih dari 2 MB ya. Kalo sintax utk kompress file trus uploadnya gimana gan? ane nyoba2 masih error mulu.. Mungkin disini bisa dapet jawabannya.. :)

    Thank you.. :)

Leave a Reply

Your email address will not be published. Required fields are marked *

Captcha : *