Logo
Watermark An Image
Online Now: 0

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
Take an image, and put a water mark on top of it.
<?php
function watermark($file$watermark$pos null$x 0$y 0){
    
$details getimagesize($file);
    
$wDetails getimagesize($watermark);
    if(!
is_null($pos)){
        switch(
$pos){
            case 
TOP_LEFT:
                
$x 0;
                
$y 0;
            break;
            case 
TOP_RIGHT:
                
$x $details[0] - $wDetails[0];
                
$y 0;
            break;
            case 
BOTTOM_LEFT:
                
$x 0;
                
$y $details[1] - $wDetails[1];
            break;
            case 
BOTTOM_RIGHT:
                
$x $details[0] - $wDetails[0];
                
$y $details[1] - $wDetails[1];
            break;
            case 
CENTER:
                
$x round(($details[0] - $wDetails[0])/2);
                
$y round(($details[1] - $wDetails[1])/2);
            break;
        }
    }
    switch(
$details['mime']){
        case 
'image/jpeg':$im imagecreatefromjpeg($file);break;
        case 
'image/gif':$im imagecreatefromgif($file);break;
        case 
'image/png':$im imagecreatefrompng($file);break;
    }
    switch(
$wDetails['mime']){
        case 
'image/jpeg':$newWater imagecreatefromjpeg($watermark);break;
        case 
'image/gif':$newWater imagecreatefromgif($watermark);$colorTransparent imagecolortransparent($newWater);imagefill($newWater00$colorTransparent);imagecolortransparent($newWater$colorTransparent);break;
        case 
'image/png':$newWater imagecreatefrompng($watermark);imagealphablending($newWaterfalse);imagesavealpha($newWater,true);break;
    }
    
imagecopyresampled($im$newWater$x$y00$wDetails[0], $wDetails[1], $wDetails[0], $wDetails[1]);
    
// Output the image
    
switch($details['mime']){
        case 
'image/jpeg':header('Content-type: image/jpeg');imagejpeg($im);break;
        case 
'image/gif':header('Content-type: image/gif');imagegif($im);break;
        case 
'image/png':header('Content-type: image/png');imagepng($im);break;
    }

    
// Free up memory
    
imagedestroy($im);
}

// Watermark using only the defaults
watermark('girl.jpg','watermark.png');

// Watermark using a pre-defined position
// Valid values: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, CENTER
watermark('girl.jpg','watermark.png'BOTTOM_RIGHT);

// Watermark using an exact position
watermark('girl.jpg','watermark.png'null150150);

// Note that you can only use this function once per page.
// If it is used more than one time, the image that will be displayed
// will be the first function called.
?>
 
Snippet Comments

Add Your Comment

CasTex
2009-11-23 00:00:00
Thanks........

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: Advanced
Current Score: 3.33
Total votes: 3
Total Views: 1803

Other top snippets by admin:

1. JPG to ASCII Converter
2. Add (th, st, nd, rd, th) to the end of a number
3. Dynamic Page Content From Links
4. AJAX Quickie
5. Simple Image CAPTCHA

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.83 of 87)

2.  Test Please Delete (2.83 of 30)

3.  Return all repeated (3.64 of 72)

4.  Convert an integer (3.3 of 71)

5.  URL Shortening for (2.75 of 52)

6.  Monthly Content Sorting (3 of 45)

7.  Show String Trimmed (2.97 of 65)

8.  Human readable file (2.01 of 70)

9.  Randomize array values (2.8 of 82)

10.  Create a recursive (3.35 of 55)

New Snippets

1.  Parse RFC822 date (4 of 1)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010