Membuat 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 yang dapat anda download di sini. 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" />Untuk demo script artikel ini dapat anda lihat di sini.
Untuk download script artikel ini di sini.


Chandra Jatnika

Mas bisa kalo gambarnya file .GIF bukan .gif ko ga bs ya?trs kl file gbr nya masih index ga bs juga harus di rubah jadi RGB dl, gmn ngatasinnya ya?
di tunggu ya..
trims
mungkin karena byte-byte image kurang memenuhi standar dari sebuah gambar yang diinginkan oleh PHP GD.
saya juga pernah mengalami itu kalau saya buat image dari ms paint. mungkin content dari image tersebut yang di tolak PHP karena kurang standarisasi.
untuk mengatasi buat image saja dari software2 terpecaya seperti photoshop dll
ten tau aja gw mau tanya tentang watermark , eh udah dibuat….hehe, thank’s ya……..maju terus ten…
mas saya mau nanya..
watermarkingnya pkk metode ap?
watermark ya metodenya di PHP pasti manipulasi image dengan library PHP GD mas.
di artikel ini saya pake class dari phpclasses.org