Langsung ke konten utama

Membuat Image watermark dengan php

Watermark adalah suatu teknik memberi tulisan pada gambar agar gambar tersebut tidak dengan mudah di copy paste oleh orang lain, teknik ini seperti copyright di gambar.
Pada pembahasan kali ini kita akan membahas pembuatan watermark dengan menggunakan fungsi PHP kita juga butuh satu file yang akan menjadi label watermarknya, ukuran width dan height watermarknya disesuaikan dengan file image yang diupload misalnya, ukuran image yang akan diupload 1000 px dan height nya 500px maka file label watermarknya harus berukuran sama.

Berikut ini langkah-langkahnya
Buat folder watermark di dalam htdocs (optional tergantung kita menggunakan web servernya)
Buat file index.php kemudian ketikan script berikut ini
<?php
  require_once('watermark_image.php');
  $file=$_FILES['image']['name'];
  if($file!="")
  {
  $path="image/".$file;
  $dest="image/watermark_".$file;
  copy($_FILES['image']['tmp_name'],$path);
  create_watermark($path, $dest);
  //cropImage(100, 100, $path, $dest);
  $size_thumb = getimagesize($dest); // ukuran gambar
  $w_thumb = $size_thumb[0];
  $h_thumb = $size_thumb[1]; 
  $size=getimagesize($path);
  $w=$size[0];
  $h=$size[1];
  }
  ?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Untitled Document</title>
  </head>
  <body>
  <form method="post" action="<? $_SERVER['PHP_SELF'];?>
  " enctype="multipart/form-data">
  <table border="0">
  <tr>
  <td>Image</td><td><input type="file" name="image" /></td>
  </tr>
  <tr>
  <td><input type="submit" name="submit" value="upload" /></td>
  </tr>
  </table>
  </form>
  <?php
  if($file !="")
  {
  ?>
  <img src="image/watermark_<?php echo  $file;?>" />
  <p>
  <?php echo "filename : watermark_". $file;?></p>
  <p>
  <?php echo "width :".$w_thumb." px";?></p>
  <p>
  <?php echo "height :".$h_thumb." px";?></p>
  <img src="image/<? echo $file;?>"  />
  <p>
  <?php echo "filename : ". $file;?></p>
  <p>
  <?php echo "width :".$w." px";?></p>
  <p>
  <?php echo "height :".$h." px";?></p>
  <?php
  }
  ?>
  </body>
  </html> 

Setelah itu buat file bernama watermark_image.php file ini nanti digunakan untuk membuat watermark, berikut ini scriptnya
define('WATERMARK_OVERLAY_IMAGE', 'watermark.png'); //definisikan image watermark
define('WATERMARK_OUTPUT_QUALITY', 90);//definisikan output quality


function create_watermark($source_file_path, $output_file_path)
{
list($source_width, $source_height, $source_type) = getimagesize($source_file_path);
if ($source_type === NULL) {
   return false;
    }
    switch ($source_type) 
    {
        case IMAGETYPE_GIF:
            $source_gd_image = imagecreatefromgif($source_file_path);
            break;
        case IMAGETYPE_JPEG:
            $source_gd_image = imagecreatefromjpeg($source_file_path);
            break;
        case IMAGETYPE_PNG:
            $source_gd_image = imagecreatefrompng($source_file_path);
            break;
        default:
        return false;
    }
    
    $overlay_gd_image = imagecreatefrompng(WATERMARK_OVERLAY_IMAGE);
    imagealphablending($overlay_gd_image, false);
    imagesavealpha($overlay_gd_image, true);
    $overlay_width = imagesx($overlay_gd_image);
    $overlay_height = imagesy($overlay_gd_image);
    
    $newWidth=($source_width*67.88)/100;
    $newHeight=($source_height*67.88)/100;
   
    imagecopy(
        $source_gd_image,
        $overlay_gd_image,
        0,
        0,
        0,
        0,
        $overlay_width,
        $overlay_height
    );
    
    imagejpeg($source_gd_image, $output_file_path, WATERMARK_OUTPUT_QUALITY);
    imagedestroy($source_gd_image);
    imagedestroy($overlay_gd_image);
}

?>
Berikut ini adalah contoh file yang telah diberi watermark
Gambar sebelum diwatermark


 Gambar setelah diwatermark


Untuk label watermark anda bisa membuatnya menggunakan photoshop sesuai keinginan, untuk file lengkapnya bisa di download di sini
http://www.4shared.com/zip/56yuQphTba/watermark.html

Komentar

Postingan populer dari blog ini

Kekuatan dan Kelemahan Tipe - Tipe Pokemon

Tipe - Tipe Pokemon Demam pokemon kian menginkat, buat kami yang gemar memainkannya mimin beri daftar kekuatan dan kelemahan tiap tipe pokemon agar membatu dalam battel di gym. tiap - tiap pokmon dikelompokan kedalam 18 tipe yang berbeda diantarnya  Normal, Fighting, Flying, Poison, Ground, Rock,Steel, Fire, Psychic, Ice,  Bug, Grass, Water, Electric, Ghost, Dragon, Fairy dan Drak Setiap Pokemon dapat memiliki satu atau dua Tipe sekaligus. Contoh, Pikachu merupakan Pokemon bertipe Electric, sedangkan Bulbasaur merupakan Pokemon dengan Tipe Grass sekaligus Poison. Ada total 151 Pokemon, 84 diantaranya hanya memiliki satu Tipe sedangkan 67 Pokemon memiliki dua Tipe. Pokemon yang tipenya sama, memiliki kekuatan dan kelemahan yang sama juga saat Battle. Misal, Pokemon Tipe Poison melawan Tipe Poison, damage yang akan diterima akan setara. Di sisi lain, Pokemon Tipe Water mampu melakukan attack dengan damage besar ke Pokemon Tipe Fire yang lemah terhadap ser...

Macam-Macam Topologi Jaringan Komputer

Klikartikel.com - Pengertian topologi jaringan komputer yaitu suatu teknik atau cara untuk menyambungkan komputer ke beberapa komputer sekaliguan menjadi suatu jaringan yang terkoneksi satu dengan yang lainya. Ada banyak jenis topologi jaringan komputer didunia ini namun yang paling sering digunakan ada 5 jenis jaringan yaitu topologi jaringan ring, topologi jaringan start, topologi jaringan bus, topologi jaringan mesh dan topologi jaringan tree. Berikut ini pembahasaan dari tipe - tipe topologi jaringan. 1. Topologi Ring Topologi ring yaitu teknik menyambungkan komputer dengan cara setiap komputer di hubungkan dengan komputer yang lain dan seterusnya sampai kembali ke komputer pertama yang nantinya akan membentuk seperti lingkaran sehingga topologi ini sering disebut dengan ring. Komputer 1 akan mengirim file atau berkomunikasi dengan komputer 4, maka data akan melewati komputer 2 dan komputer 3 sampai data diterima oleh komputer...

Menyembunyikan Pesan Error Notice: Undefined index

Pada pembahasan kali ini kita akan membahas bagai mana cara menghilangkan Notice: Undefined index:,  Sebelum kita mengetahui cara menghilangkan pesan error  Notice: Undefined index:,  yang perlu kita ketahui adalah maksud atau arti dari pesan error tersebut.  Notice: Undefined index: merupakan sebuah pesan dari variabel atau  Constanta yang tidak memiliki nilai (value). Jadi variabel atau contanta tersebut merupakan variabel kosong, lalu bagaimana cara menghilangkan pesan tersebut, berikut caranya : sebagai contoh kita ketikan script php seperti dibawah ini : <html> <head> </head> <body> <a href='?pg=1'>Hal 1</a> <a href='?pg=2'>Hal 2</a> <a href='?pg=3'>Hal 3</a> <?php     if($_GET['pg']== 1)         echo "Ini halaman 1";     elseif($_GET['pg']== 2)         echo "In...