Script PHP untuk Mengkompres Gambar

Deskripsi :
Script PHP ini berguna untuk mengkompress file bertype jpg/jpeg dapat merubah ukuran besar ataupun sizenya. Berikut scriptnya :
// No.1 fungsi get untuk mendeskirpsikan nama gambar
$dataGambar = $_GET[gambar];


function gambarKompress($data) {
// No.1 mendapatkan nama gambar
$filename = "$data";
// No. 2 menetukan persen kompres gambar
$percent = 0.5;

// Menset file bertype jpeg
header('Content-type: image/jpeg');

// No.3 Mendapatkan ukuran asli gambar
list($width, $height) = getimagesize($filename);
// No. 4 Menentukan ukuran gambar hasil kompress, kosongkan
// jika ingin menentukan ukuran gambar secara manual
$new_width = $width * $percent;
$new_height = $height * $percent;

// No. 5 Menentukan gambar secara manual dgn terlebih dahulu
// mengecek nilai dari $new_width dan $new_height
if (!ISSET($new_width)) $new_width = 451;
if (!ISSET($new_height)) $new_height = 301;

// No. 6 Proses kompres gambar mgunakan fungsi imagecopyresampled
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// No. 7 Menampilkan output
imagejpeg($image_p, null, 100);
}
// No. 8 Mengeksekusi fungsi gambarKompress() dengan nama file
// variabel $dataGambar sebagai objek yang berasal dari $_GET[gambar]

gambarkompress($dataGambar);
Keterangan Script :
Script ini disatukan dalam fungsi gambarKompress(), yang memiliki tahap-tahap sebagai berikut :
  1. pendeklarasian variabel nama gambar yaitu $dataGambar menggunakan fungsi $_GET[gambar], yang nantinya akan dimasukkan ke dalam variabel $filename pada fungsi gambarCrop()
  2. Menset variabel $percent yang akan digunakan untuk menset seberapa kecil gambar/image tersebut dikompres dalam satuan desimal (0.5 = 50%), jika diisi 0.5 berarti gambar akan dikompres sebesar 50%/setengah dari ukuran aslinya.
  3. Mendapatkan/mencari ukuran asli gambar dengan fungsi getimagesize()
  4. Menentukan ukuran gambar hasil kompres dengan metode persentase
  5. Menentukan ukuran gambar hasil kompres dengan metode manual (menentukan sendiri ukuran gambar yang kita mau)
  6. Proses kompress gambar : membuat gambar truecolor = imagecreatetruecolor(), membuat gambar bertype jpg = imagecreatefromjpeg, mencopy gambar dengan ukuran baru = imagecopyresample()
  7. Menampilkan gambar jpeg = imagejpeg()
  8. Eksekusi fungsi gambarKompress()
Cara pemakaian / penggunaan script :
simpan script diatas dalam satu file (misalnya) bernama kompres.php didalam webserver tentunya, maka cara menggunakannya adalah
http://namaweb.com/kompres.php?gambar=namafilegambar.jpg
http://namaweb.com/kompres.php?gambar=http://namaweb.com/image/namafilegambar.jpg
<img src="http://namaweb.com/kompres.php?gambar=namafilegambar.jpg">
<img src="http://namaweb.com/kompres.php?gambar=http://namaweb.com/image/namafilegambar.jpg">

Demo script :
gambar sebelum dikompress

gambar setelah dikompress


Download Full Script : Klik di sini

0 comments: