Scripts
Watermerk
Dit script heb ik gemaakt voor een jeugdsite( http://www.nostatusquo.rafaelalmere.nl ) voor 't fotoalbum 't werkt goed je geeft een plaatje op en hij zet er netjes in de rechteronderhoek een watermerk in als je wil resized hij het eerst voorbeeld resize: (width=150) http://laman.hopto.org/phphulp/image.php?image=./test.jpg&resize=Yes Voorbeeld error: http://laman.hopto.org/phphulp/image.php?image=./bestaat_niet.jpg volg de instructies in 't schript het maakt niet uit welke bestandsnaam je dit schript geeft zolang je die naam maar gebruikt in je tag suggestie's??? graag
watermerk
<?
#####################################################
#####################################################
## ##
## Image script by Laurens A. Laman. ##
## This script loads a picture and puts a ##
## Watermark onto it. It also resizes it if ##
## you like. It displays the picture on your ##
## screen so you can put it in a <img src=> tag ##
## ##
## Script tested on PHP 4.4.1 ##
## ##
#####################################################
#####################################################
##################################################################
##################################################################
## ##
## How to use it? ##
## ##
## This is very simple: just upload this script ##
## Then access it like <img src="Image.php?image=./test.jpg"> ##
## Or if you like to resize: ##
## <img src="Image.php?image=./test.jpg&resize=Yes"> ##
## ##
##################################################################
##################################################################
###################################################
###################################################
## ##
## Let's START: ##
## ##
###################################################
###################################################
###################################################
###################################################
## ##
## Modify Variables: ##
## ##
###################################################
###################################################
$nieuwWidth = "150"; //--- The width of the picture to be resized. The height will be calculated automatically
$errpict = "../jeugd/img/notfound.gif"; //--- The path of the picture if something goes wrong
$errtext = "Picture not found"; //--- The error message if $_GET['image']; is empty
$watermark = "../jeugd/img/watermerk2.gif"; //--- The location of the default watermark (horizontal)
$Watervert = "../jeugd/img/watermerkvert.gif";//--- The location of the vertical watermark
$trans = "30"; //-- Transparent in percent of the watermark (0-100)
###########################################################
###########################################################
## ##
## DO NOT MODIFY BENEATH UNLESS YOU KNOW WHAT YOUR DOING ##
## ##
###########################################################
###########################################################
//--- check if var 'resize' is empty else resize the image
If (!$_GET['resize']){
//--- check if var 'image' has been passed in the URL
if ($_GET['image'])
{
//--- Content type
header('content-type: image/jpeg');
//--- set the path
$pict = $_GET['image'];
//--- watermark
$path_watermark = $watermark;
$watermark = imagecreatefromgif($path_watermark);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
//--- check that file exists
if(!file_exists($pict)) {
$pict=$errpict;
}
//--- image
$ext=explode('.',$pict);
$ext_check=count($ext);
$ext=$ext[count($ext)-1];
$ext = strtolower($ext);
//--- use the proper imagecreate
if ($ext=="jpg"){$image = imagecreatefromjpeg($pict)or die('Cannot Create image');}
elseif ($ext=="gif"){$image = imagecreatefromgif($pict)or die('Cannot Create image');}
elseif ($ext=="png"){$image = imagecreatefrompng($pict)or die('Cannot Create image');}
elseif ($ext=="bmp"){$image = imagecreatefrombmp($pict)or die('Cannot Create image');}
else {$image = imagecreatefromgif($errpict)or die('Cannot Create image');}//--- if file is not a picture then show error
list($width, $height) = getimagesize($pict);
$left = $width - $watermark_width;
$top = $height - $watermark_height;
//--- merge watermark + image
if ($width > $watermark_width){
imagecopymerge($image, $watermark, $left, $top, 0, 0, $watermark_width, $watermark_height, $trans);
}else{
//--- Vertical watermark if the width of the image is too small
$watermark = imagecreatefromgif($Watervert);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$left = $width - $watermark_width;
$top = "0" ;
if ($height > $watermark_height){//--- and if the image is too small for both watermarks, then show nothing
imagecopymerge($image, $watermark, $left, $top, 0, 0, $watermark_width, $watermark_height, $trans);
}
}
//--- print image
imagejpeg($image);
//--- destroy image + watermark
imagedestroy($image);
imagedestroy($watermark);
}
else {//--- Show error if var 'image' is empty
$text = $errtext;
$width = strlen($text) * 8.3;
$height = 16;
$font = 4;
$txtimg = imagecreate($width, $height);
imagecolorallocate($txtimg, 255, 0, 0);
$txtcolor = imagecolorallocate($txtimg, 255,255,255);
imagestring($txtimg, $font, 0, 0, $text, $txtcolor)or die ("Cannot Create image");
//--- Content type
header("Content-Type: image/jpeg");
//-- show img
imagejpeg($txtimg);
//-- destroy img
imagedestroy($txtimg);
}
}else{
if($_GET['image'])
{
//--- File and new size
$filename = $_GET['image'];
//--- check that file exists
if(!file_exists($filename)) {$filename=$errpict;}
//--- Content type
header('Content-type: image/jpeg');
//--- Get new sizes
list($width, $height) = getimagesize($filename);
$percent = $height / $width;
$new_width = "150";
$new_height = "150" * $percent;
if ($newheight > "150"){
$percent = $width / $height;
$new_height = "150";
$new_width = "150" * $percent;
}
//--- Load
$thumb = imagecreatetruecolor($new_width, $new_height);
$ext=explode('.',$filename);
$ext_check=count($ext);
$ext=$ext[count($ext)-1];
$ext = strtolower($ext);
//--- use the proper imagecreate
if ($ext=="jpg"){$source = imagecreatefromjpeg($filename)or die('Cannot Create image'); }
elseif ($ext=="gif"){$source = imagecreatefromgif($filename)or die('Cannot Create image'); }
elseif ($ext=="png"){$source = imagecreatefrompng($filename)or die('Cannot Create image'); }
elseif ($ext=="bmp"){$source = imagecreatefrombmp($filename)or die('Cannot Create image'); }
else{ $source = imagecreatefromgif($errpict)or die('Cannot Create image');}//--- if file is not a picture then show error
//--- Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//--- add watermark
$path_watermark = $watermark;
$watermark = imagecreatefromgif($path_watermark);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$left = $new_width - $watermark_width;
$top = $new_height - $watermark_height;
if ($new_width > $watermark_width){
imagecopymerge($thumb, $watermark, $left, $top, 0, 0, $watermark_width, $watermark_height, $trans);
}else{
//--- Vertical watermark if the width of the image is too small
$watermark = imagecreatefromgif($Watervert);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$left = ($new_width - $watermark_width);
$top = "0" ;
if ($new_height > $watermark_height){//--- and if the image is too small for both watermarks, then show nothing
imagecopymerge($thumb, $watermark, $left, $top, 0, 0, $watermark_width, $watermark_height, $trans);
}
}
//--- Output
imagejpeg($thumb);
}
else
{//--- Show error if var 'image' is empty
$text = $errtext;
$width = strlen($text) * 8.3;
$height = 16;
$font = 4;
$txtimg = imagecreate($width, $height);
imagecolorallocate($txtimg, 255, 0, 0);
$txtcolor = imagecolorallocate($txtimg, 255,255,255);
imagestring($txtimg, $font, 0, 0, $text, $txtcolor)or die ("Cannot Create image");
//--- Content type
header("Content-Type: image/jpeg");
//-- show img
imagejpeg($txtimg);
//-- destroy img
imagedestroy($txtimg);
}
}//--- end resize
?>
Reacties
0