.

Selasa, 05 Juli 2011

Efek Watermark Pada Image Dengan PHP

Efek watermark pada image adalah suatu teknik penandaan pada image dengan membubuhkan tulisan diatas image tersebut. Biasanya cara ini digunakan oleh orang-orang yang gambar hasil karyanya yang dipajang pada suatu halaman website tidak mau diambil dan di klaim kepemilikannya oleh orang lain. Dengan software editing image sederhana pun untuk menambahkan tulisan pada image adalah hal yang mudah, namun tentunya ini tidak praktis apabila di website anda ada ratusan gambar yang akan dipajang, apakah anda ingin membubuhkan satu per satu gambar tersebut?

PHP merupakan solusi tepat untuk membantu anda dalam membubuhkan tulisan pada gambar anda tanpa ada bantuan dari software editing karena library PHP untuk manipulasi image (PHP GD) dapat melakukannya dengan script yang sederhana. File PHP yang berisi script PHP GD akan otomatis men-generate image anda plus tulisan yang anda inginkan.

Pertama-tama buat file utama “mark.php” seperti ini:
<?
isset($_GET['image']) or die('Please input image location');
 
require 'watermark/watermark.class.php';
 
$file = $_GET['image']; // dapatkan path relative dari file gambar
$ext = strtolower(pathinfo($file,PATHINFO_EXTENSION)); // dapatkan extension file
 
$allowedImage = array('jpg','jpeg','png','gif');
 
// jika extension file bukan jpg,jpeg,png atau gif beri pesan error
in_array($ext,$allowedImage) or die('Extension is not allowed');
 
$path = "./"; // path dasar 
$font = "watermark/fonts/debussy.ttf"; // lokasi font, bisa anda tentukan sendiri
// text yg akan dimunculkan di gambar, bisa anda tentukan defaultnya sendiri 
$text = isset($_GET['text']) ? $_GET['text'] : 'default watermark'; 
/* skala dari tulisan terhadap gambar, bila kosong maka font akan ditampilkan normal, 
 * tapi bila diisi dengan angka lebih dari 1 maka tulisan akan semakin mengecil */
$factor = ""; 
$fontsize = 14; // ukuran font tulisan watermark 
/* $force dan $browse bisa disetting false dan 0 apabila anda hendak 
 * men-generate hasil watermark menjadi gambar baru yang sudah ditambah tulisan */
$force = true; 
$browser = 1;
 
// generate image watermark
new watermark($path,$file,$font,$text,$factor,$fontsize,$force,$browser);
?>

Pada script diatas saya memanfaatkan class watermark. Adapun cara memanggil gambar dengan efek watermark adalah seperti ini.



<img src="mark.php?image=images/img1.jpg" />

Perlu diperhatikan pada tag IMG diatas file yang dipanggil adalah file PHP dimana file tersebutlah yang akan terpanggil sebagai file gambar yang sudah dibubuhi text watermark. Text yang akan muncul pada gambar adalah “default watermark”, namun jika anda menambahkan parameter “text” ke lokasi image tersebut maka tulisan pun akan sesuai dengan text yang anda kirimkan.


<img src="mark.php?image=images/img1.jpg&text=parameter tulisan watermark" />

Dengan mensiasati mod_rewrite pada direktori script watermark anda maka gambar watermark bisa saja dipanggil dengan cara seperti ini.


<img src="images/img1.jpg" />

Anda hanya harus membuat .htaccess pada directory watermark anda se-sederhana ini.


<IfModule mod_rewrite.c>
RewriteEngine on
# semua gambar di dalam folder image akan di konversi cara memanggilnya dengan 
# imbuhan "mark.php?image=" agar tercipta efek watermark
RewriteRule ^images/(.*)$ ./mark.php?image=images/$1 [L]
</IfModule>

Dengan script mod_rewrite diatas jika anda ingin membubuhkan text yang anda inginkan caranya seperti ini.


<img src="images/img1.jpg&text=parameter tulisan watermark" />

Hasil :

0 komentar