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...

Crystal Report Error : Failed to load database infromation

Ketika menjalankan crystal report tiba - tiba terjadi error dengan pesan Failed to load database infromation, usut punya usut ternyata penyebabnya adalah windows 10. Gambar : Error Crystal Report Tapi tenang saja berikut ini saya akan bahas cara penyelesaianya Masuk ke file yourApp.exe.config. Cari code <?xml version="1.0" encoding="utf-8" ?> <configuration>     <startup>          <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />     </startup> </configuration> Ubah menjadi <?xml version="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> </configuration> Kemudian coba lagi jalankan print dengan crystal report.  Source http://stackoverflow.com/questions/15951142/appcrash-on-s...