TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Manipulasi Image dengan PHP


October 6th, 2008 | by rosihanari | Cetak Artikel Cetak Artikel

Istilah ‘Manipulasi’ di sini, bukanlah manipulasi yang bersifat negatif :-) . Istilah ini terkait dengan pengolahan image untuk menghasilkan image baru. Yang dimaksud dalam manipulasi image di sini adalah ‘image filtering’. Dalam dunia image processing, tentu hal ini bukanlah hal yang baru lagi. Nah… pada artikel kali ini akan dibahas bagaimana cara memanipulasi image dengan PHP yang dapat dilakukan dengan sangat mudah.

Untuk memanipulasi image dengan PHP, telah tersedia function imagefilter(). Apabila Anda masih menggunakan PHP 4, maka Anda tidak akan menemukannya karena function ini hanya ada di PHP 5. Oleh karena itu segeralah bermigrasi ke PHP 5 bila masih menggunakan PHP 4 :-) .

Dengan menggunakan imagefilter(), Anda bisa melakukan filtering image seperti mengatur tingkat brightness, kontras, mengubah image ke bentuk negatif, memberikan efek emboss, memberikan efek sketch, mengubah true color image ke grayscale, melakukan proses edge detection, memperhalus image (smoothing), serta memberikan efek blur.

Secara umum, sintaks dari imagefilter() adalah sebagai berikut:

imagefilter(image asli, tipe filtering, [argumen])

Untuk tipe filtering yang dapat Anda gunakan adalah:

- IMG_FILTER_NEGATE, digunakan untuk membuat image negatif
- IMG_FILTER_GRAYSCALE, mengkonversi ke grayscale
- IMG_FILTER_BRIGHTNESS, mengatur tingkat brightness
- IMG_FILTER_CONTRAST, mengatur tingkat kontras
- IMG_FILTER_COLORIZE, mengatur skala warna RGB
- IMG_FILTER_EDGEDETECT, menghasilkan image dari proses edge detection
- IMG_FILTER_EMBOSS, memberikan efek timbul (emboss)
- IMG_FILTER_GAUSSIAN_BLUR, memberikan efek blur (Gaussian Blur)
- IMG_FILTER_SELECTIVE_BLUR, memberikan efek blur (Selective Blur)
- IMG_FILTER_MEAN_REMOVAL, memberikan efek sketch
- IMG_FILTER_SMOOTH, memperhalus image

Dalam hal ini, parameter ‘argumen’ sifatnya adalah optional.

Selanjutnya bagaimana cara penggunaannya? Ini dia contohnya. Dalam contoh ini, saya ambil sampel sebuah image berformat JPG dari foto anak saya Faza :-)

Foto Asli

negatif.php

<?php
// membuat image negatif
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_NEGATE);
imagejpeg($image);
?>

Hasilnya adalah:

grayscale.php

<?php
// membuat grayscale image
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_GRAYSCALE);
imagejpeg($image);
?>

Hasilnya adalah:

brightness.php

<?php
// mengatur tingkat brightness
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_BRIGHTNESS, 50);
imagejpeg($image);
?>

Hasilnya adalah:

contrast.php

<?php
// mengatur tingkat contrast
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_CONTRAST, 10);
imagejpeg($image);
?>

Hasilnya adalah:

colorize.php

<?php
// mengatur skala warna RGB
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_COLORIZE, 10, 100, 20);
imagejpeg($image);
?>

Pada imagefilter() di atas, nilai 10 pada parameter tersebut mengatur skala untuk warna merah (RED), 100 untuk hijau (GREEN), dan 20 untuk biru (BLUE).

Hasilnya adalah:

edgedetection.php

<?php
// image dari hasil edge detection
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_EDGEDETECT);
imagejpeg($image);
?>

Hasilnya adalah:

emboss.php

<?php
// image dengan efek emboss
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_EMBOSS);
imagejpeg($image);
?>

Hasilnya adalah:

gaussian.php

<?php
// image dengan efek Gaussian blur
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagejpeg($image);
?>

Hasilnya adalah:

sketch.php

<?php
// image dengan efek sketch
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_MEAN_REMOVAL);
imagejpeg($image);
?>

Hasilnya adalah:

smooth.php

<?php
// mengatur tingkat kehalusan image
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_SMOOTH, 25);
imagejpeg($image);
?>

Hasilnya adalah:

Anda dapat pula menggabung beberapa proses filtering dalam satu script, misalnya

grayscale-sketch.php

<?php
// mengkonversi image ke grayscale lalu memberikan efek sketch
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('faza.jpg');
imagefilter($image, IMG_FILTER_GRAYSCALE);
imagefilter($image, IMG_FILTER_MEAN_REMOVAL);
imagejpeg($image);
?>

Hasilnya adalah:

OK… that’s it, beberapa jenis filtering yang dapat Anda lakukan dengan function imagefilter(). Pada contoh ini, source image berasal dari sebuah file. Nah.. Anda dapat pula mengembangkan script untuk filtering image yang berasal dari database.

Oya, Anda dapat pula mendownload semua script di atas (tidak termasuk foto aslinya ya…, silakan gunakan foto Anda sendiri yang keren he..3x)

Download Script

Selamat mencoba, mudah-mudahan ada manfaatnya dan nantikan tips dan trik web programming selanjutnya di blog ini.


Baca Juga Artikel Terkait
Membuat Thumbnail Image dengan Script PHP
Script PHP untuk Membuat Report Format MS. Excel
Membuat Efek Animasi Grafik Fungsi dengan Maple
Membuat Auto Deletion (Hapus Otomatis) Data Dengan Script PHP
Membuat Fasilitas Lost Password dengan PHP



Slot iklan tersedia, pasang iklan di atas


Kata kunci: image php - image processing - PHP - php image -


Ada 9 komentar dalam artikel ini.



  1. keren mas..
    saya baru kalo php bisa manipulasi images
    seperti di atas

  2. trihas says:

    Assalamu’alaikum..
    Pak, penggunaan
    header(“Content-type: image/jpeg”);

    itu apa maksudnya untuk image tipe jpeg saja? Lalu bagaimana dengan image tipe yang lain? Bagaimana misalkan image yang digunakan lebih dari satu tipe?

    Mohon dijelaskan Pak, sebelumnya terimakasih..
    Wassalamu’alaikum..

  3. Mustadi says:

    dibagian akhir sebelum komentar diatas (pada tiap halaman blog anda ini), itu ada tampilan dari beberapa foto yang di buat dalam album, gimana ya mas cara bikinnya….?

  4. Tady Bears says:

    image kalo biar tampilannya di “crop” gimana mas

  5. taroom says:

    mas, mau tanya. apa bisa script ini diimplementasikan di perulangan dengan data dari database. atau script ini hanya untuk satu photo

  6. taroom says:

    gallery dibuat dengan perulangan while. trus gimana caranya agar salah satu script diatas misalnya yang effect GREYSCALE bekerja pada gallery photo tersebut.



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*