Share Pastebin
Guest
Public paste!

PHP Watermark Script

By: a guest | Mar 30th, 2010 | Syntax: PHP | Size: 1.93 KB | Hits: 191 | Expires: Never
Copy text to clipboard
  1. <?php
  2.     // this script creates a watermarked image from an image file - can be a .jpg .gif or .png file
  3.     // where watermark.gif is a mostly transparent gif image with the watermark - goes in the same directory as this script
  4.     // where this script is named watermark.php
  5.     // call this script with an image tag
  6.     // <img src="watermark.php?path=imagepath"> where path is a relative path such as subdirectory/image.jpg
  7.     $imagesource =  $_GET['src'];
  8.     $watermarkPath = 'watermark.png';
  9.     $filetype = substr($imagesource,strlen($imagesource)-4,4);
  10.     $filetype = strtolower($filetype);
  11.     $watermarkType = substr($watermarkPath,strlen($watermarkPath)-4,4);
  12.     $watermarkType = strtolower($watermarkType);
  13.    
  14.     if($filetype == ".gif")  
  15.         $image = @imagecreatefromgif($imagesource);
  16.     else  
  17.         if($filetype == ".jpg" || $filetype == "jpeg")  
  18.             $image = @imagecreatefromjpeg($imagesource);
  19.         else
  20.             if($filetype == ".png")  
  21.                 $image = @imagecreatefrompng($imagesource);
  22.             else
  23.                 die();  
  24.    
  25.     if(!$image)
  26.         die();
  27.    
  28.     if($watermarkType == ".gif")
  29.         $watermark = @imagecreatefromgif($watermarkPath);
  30.     else
  31.         if($watermarkType == ".png")
  32.             $watermark = @imagecreatefrompng($watermarkPath);
  33.         else
  34.             die();
  35.        
  36.     if(!$watermark)
  37.         die();
  38.        
  39.     $imagewidth = imagesx($image);
  40.     $imageheight = imagesy($image);  
  41.     $watermarkwidth =  imagesx($watermark);
  42.     $watermarkheight =  imagesy($watermark);
  43.     //$startwidth = (($imagewidth - $watermarkwidth)/2);
  44.     //$startheight = (($imageheight - $watermarkheight)/2);
  45.     $startwidth = 0;
  46.     $startheight = 0;
  47.     imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);
  48.     imagejpeg($image);
  49.     imagedestroy($image);
  50.     imagedestroy($watermark);
  51. ?>