Membuat Image Thumbnail di PHP, Menangani dan Memanipulasi Gambar dengan Intervention Image

Di saat mengembangkan aplikasi, ada kalanya kamu dihadapkan pada kasus membuat thumbnail gambar, terlebih aplikasi tersebut mendukung gallery foto. PHP mendukung fungsi-fungsi untuk pemprosesan gambar di antaranya GD atau ImageMagick. Pada tulisan ini, kita akan mencoba menangani dan memanipulasi gambar lebih mudah dan ekspresif dengan menggunakan pustaka bernama Intervention Image.

Intervention Image menyediakan cara yang lebih mudah dan ekspresif untuk membuat, mengedit, dan menyusun gambar. Pustaka ini menggunakan fungsi-fungsi pemprosesan gambar yang ada di PHP, saat ini hanya mendukung GD dan ImageMagick.

Berikut adalah perintah untuk instalasi menggunakan Composer:

$ php composer.phar require intervention/image

Alternatif lain, kamu bisa download kodenya dari Github: https://github.com/Intervention/image.

Persyaratan Sistem

Sebelum menggunakan Intervention Image, pastikan kamu memenuhi syarat sebagai berikut:

  • PHP >= 5.4
  • Fileinfo Extension
  • Pustaka PHP GD (>=2.0) atau ekstensi PHP Imagick (>=6.5.7)

Penggunaan

Pertama yang harus dilakukan adalah menyertakan file autoload Composer 'vendor/autoload.php' di awal skrip PHP. Berikut adalah contoh penggunaan:

// menyertakan autoload composer
require 'vendor/autoload.php';

// impor Manager Class dari Intervention Image
use Intervention\Image\ImageManager;

// membuat instance image manager dengan menggunakan driver GD PHP
$manager = new ImageManager(array('driver' => 'imagick'));

// terakhir membuat instance gambar
$image = $manager->make('public/foo.jpg')->resize(300, 200);

Selain cara di atas, kamu juga dapat menggunakan method statik sebagai berikut:

// menyertakan autoload composer  
require 'vendor/autoload.php';

// impor Manager Class dari Intervention Image
use Intervention\Image\ImageManagerStatic as Image;

// Konfigurasi driver image PHP (secara default: gd)
Image::configure(['driver' => 'gd']);

// Siap digunakan ...
$image = Image::make('public/foo.jpg')->resize(300, 200);

Mengintegrasikan di Laravel

Jika kamu menggunakan framework Laravel, Intervention Image mendukung pengintegrasikan sebagai pustaka di Laravel. Kita dapat memasukkannya sebagai Service Provider dan menggunakan Facade yang sudah disediakan.

Tambahkan Service Provider pada array $providers di config/app.php:

Intervention\Image\ImageServiceProvider::class

Kemudian tambahkan  Facade pada array $aliases:

'Image' => Intervention\Image\Facades\Image::class

Langkah terakhir adalah memuat konfigurasi di Laravel 5. Secara default, Intervention Image menggunakan ekstensi PHP GD untuk memproses gambar, jika kemu ingin mengganinya dengan menggunakan Imagick, you dapat mengambil file konfigurasi ke dalam aplikasi dengan menjalankan perintah Artisan:

$ php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"

Berikut contoh penggunaan:

Route::get('/image/foo-thumbnail', function()
{
    $img = Image::make('foo.jpg')->resize(300, 200);

    return $img->response('jpg');
});

Untuk penggunaan lebih lanjut, silahkan kunjungi: http://image.intervention.io/

Leave a comment

Leave a Reply