Log In

Email:
Password:
Keep me logged in

Forgot Password

Email:




Archives
2013
March (7)
February (13)
January (14)
2012
December (12)
November (12)
October (12)
September (6)
August (12)
July (6)
June (12)
May (6)
April (12)
March (6)
February (12)
January (12)
2011
December (11)
November (14)
October (11)
September (4)
August (16)
July (8)
Categories
CSS (28)
jQuery (116)
PHP (52)
.htaccess (5)
iPod (1)
iPhone (16)
Sponsored Links


Watermark
PHP
Browse Category | Saturday, October 1, 2011 |

Description: PHP function creating a watermarked image by superimposing a small image on top of a larger one on the bottom right hand corner.







PHP:
watermark.php the file which contains the watermark function
<?php

$u1 
$_GET["u"]; //THE LARGER IMAGE (IMAGE URL IS EDITABLE IN result.php, FILE BELOW)
$u2 "http://images.wcetdesigns.com/2010FooterWCET.png"//WATERMARK IMAGE

//GETS THE EXTENSION OF THE (MAIN) LARGER IMAGE $u1
$it1 pathinfo($u1);
$x $it1["extension"];

//GETS THE EXTENSION OF THE (WATERMARK) SMALLER IMAGE $u2
$it2 pathinfo($u2);
$wx $it2["extension"];

//HEADER FOR THIS FILE ACCORDING TO THE $u1 EXTENSION
header("Content-type: image/".$x);

list(
$w$h) = getimagesize($u1); //WIDTH & HEIGHT FOR $u1
list($ww$hh) = getimagesize($u2); //WIDTH & HEIGHT FOR $u2

$s 4//WATERMARK IS SCALED DOWN AT LEAST 4 TIMES LESS THAN THE LARGER IMAGE
$w2 $ww$h2 $hh//REWRITES FOR THE WATERMARK IMAGE FOR SCALING
$mw $w/$s$mh $h/$s//MAX WIDTH & MAX HEIGHT FOR THE WATERMALK

//SCALES DOWN WATERMARK IF IT IS MORE THAN A QUARTER OF THE LARGER IMAGE SIZE
if($ww>$mw){
    
$d $ww-$mw;
    
$p = ($d/$ww)*100;
    
$h2 $hh-($hh*$p)/100;
    
$w2 $mw;
}
if(
$hh>$mh){
    
$d $hh-$mh;
    
$p = ($d/$hh)*100;
    
$w2 $ww-($ww*$p)/100;
    
$h2 $mh;
}

//CREATES AN IMAGE FROM THE LARGER IMAGE'S URL ACCORDING TO ITS EXTENSION
if($x=="png"||$x=="PNG"){
    
$s1 imagecreatefrompng($u1);
}
if(
$x=="jpeg"||$x=="jpg"){
    
$s1 imagecreatefromjpeg($u1);
}
if(
$x=="gif"){
    
$s1 imagecreatefromgif($u1);
}

//CREATES AN IMAGE FROM THE SMALLER IMAGE'S URL ACCORDING TO ITS EXTENSION
if($wx=="png"||$wx=="PNG"){
    
$s2 imagecreatefrompng($u2);
}
if(
$wx=="jpeg"||$wx=="jpg"){
    
$s2 imagecreatefromjpeg($u2);
}
if(
$wx=="gif"){
    
$s2 imagecreatefromgif($u2);
}

$fr $w $w2$fb $h $h2//X & Y OFFSETS FOR THE WATERMARK, POSITIONING IT IN THE BOTTOM RIGHT CORNER
$dest imagecreatetruecolor($w$h); //CREATES FRAME
//COPIES THE TWO IMAGES
imagecopyresampled($dest$s10000$w$h$w$h);
imagecopyresampled($dest$s2$fr$fb00$w2$h2$ww$hh);

//DISPLAYS THE FINAL IMAGE ACCORDING TO ITS EXTENSION
if($x=="jpeg"||$x=="jpg"){
    
imagejpeg($dest);
}
elseif(
$x=="png"){
    
imagepng($dest);
}
elseif(
$x=="gif"){
    
imagegif($dest);
}
imagedestroy($dest);

?>
HTML:
result.php, main file where the image and watermark will be shown together.
<img src="watermark.php?u=http://wcetdesigns.com/images/users/Photo159.jpg">
<!--
The part after "watermark.php?u=" is the image url of the larger image (to be watermarked).
-->
 0    1
Views: 997 Downloads: 112




(Optional in case you want a reply)



0 Comments