Location: PHPKode > scripts > Encaps Gallery > encaps-2.3.22s/core/watermark.php
<?php 
function watermark_text($src_image,$watermarkstring,$watermark_location,$watermark_margin=0)
{
$file = $src_image;
$size = getimagesize($file);
$w = $size[0];
$h = $size[1];
$fontsize = 10;

if(stristr($file,".jpg") || stristr($file,".jpeg"))
{
	$image=@imagecreatefromjpeg($file); 
}
else if(stristr($file,".png"))
{
	$image = @imagecreatefrompng($file);
}
else
{
	exit("Sorry, only *.jpg/*jpeg and *.png images are supported");
}
	$color = imagecolorallocate($image, 200, 200, 200);

	$xi = 0;
	$yi = 0;
	$strlen_watermark = strlen($watermarkstring);
	switch($watermark_location)
	{
		case "topleft":
			$x = $watermark_margin;
			$y = $watermark_margin;
		break;
		case "topright":
			$x =  $size[0] - $fontsize * strlen($watermarkstring);
			$y = $watermark_margin;
		break;
		case "center":
			$x = $size[0]/2 - $fontsize * strlen($watermarkstring)/2;
			$y = $size[1]/2 - $fontsize ; 
		break;
		case "bottomleft":
			$x = $watermark_margin;
			$y = $size[1] - $fontsize - $watermark_margin; 
		break;
		case "bottomright":
			$x = $size[0] - $fontsize * strlen($watermarkstring);
			$y = $size[1] - $fontsize - $watermark_margin;
		break;
		default:
			$x = 0;
			$y = 0; 
		break;
	}
	imagestring($image, $fontsize, $x, $y, "$watermarkstring", $color);

if(stristr($file,".jpg") || stristr($file,".jpeg"))
{
	header("Content-type: image/jpeg");
	imagejpeg($image,NULL,100);
}
else if(stristr($file,".png"))
{
	header("Content-type: image/png");
	imagepng($image);
}
else
{
	exit("Sorry, only *.jpg/*jpeg and *.png images supported");
}
ImageDestroy($image); 
}//function

//////////////////////////////////////////////////////////////////////////////////

function watermark_image($image_path_src,$image_path_watermark,$watermark_location,$watermark_margin=0)
{	

if(stristr($image_path_src,".jpg") || stristr($image_path_src,".jpeg"))
{
	$image=@imagecreatefromjpeg($image_path_src); 
}
else if(stristr($image_path_src,".png"))
{
	$image = @imagecreatefrompng($image_path_src);
}
else
{
	exit("Sorry, only *.jpg/*jpeg and *.png images are supported");
}

$size = getimagesize($image_path_src);
$w = $size[0];
$h = $size[1];

	$src_x = 0;
	$src_y = 0;
	if(preg_match("#\.png$#i",$image_path_watermark))
		$watermark_image = imagecreatefrompng($image_path_watermark); 
	else if(preg_match("#\.gif$#i",$image_path_watermark))
		$watermark_image = imagecreatefromgif($image_path_watermark); 
	else if(preg_match("#\.jpe*g$#i",$image_path_watermark))
		$watermark_image = imagecreatefromjpeg($image_path_watermark); 		
	else
		exit("Sorry, only *.gif, *.jpg and *.png watermarks are supported");
		
	$size_watermark = getimagesize($image_path_watermark);
	$dst_w = $src_w = $size_watermark[0];
	$dst_h = $src_h = $size_watermark[1];

	switch($watermark_location)
	{
		case "topleft":
			$x = $watermark_margin;
			$y = $watermark_margin;
		break;
		case "topright":
			$x =  $size[0] - $size_watermark[0] - $config["watermark_margin"];
			$y = $watermark_margin; 
		break;
		case "center":
			$x = $size[0]/2 - $size_watermark[0]/2;
			$y = $size[1]/2 - $size_watermark[1]/2;
		break;
		case "bottomleft":
			$x = $watermark_margin;
			$y = $size[1] - $size_watermark[1] - $watermark_margin; 
		break;
		case "bottomright":
			$x = $size[0] - $size_watermark[0] - $watermark_margin;
			$y = $size[1] - $size_watermark[1] - $watermark_margin;
		break;
		default:
			$x = 0;
			$y = 0; 
		break;
	}
	$dst_x = $x;
	$dst_y = $y;
	imagecopymerge($image,$watermark_image,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h,25);

if(stristr($image_path_src,".jpg") || stristr($image_path_src,".jpeg"))
{
	header("Content-type: image/jpeg");
	imagejpeg($image,NULL,100);
}
else if(stristr($image_path_src,".png"))
{
	header("Content-type: image/png");
	imagepng($image);
}
else
{
	exit("Sorry, only *.jpg/*jpeg and *.png images supported");
}
ImageDestroy($image); 
}

/////////////////////////////////////////////

include(dirname(__FILE__)."/../common.ini.php");
$item = $catalog->items->get("WHERE id=".(int)$_GET["id"]);
switch($config["watermark_type"])
{
		case "text":watermark_text("../rwx/".$item["file"],$config["watermark_text"],$config["watermark_location"],$config["watermark_margin"]);break;
		case "image":watermark_image("../rwx/".$item["file"],"../rwx/".$config["watermark_image"],$config["watermark_location"],$config["watermark_margin"]);break;
}
?>
Return current item: Encaps Gallery