Friday, November 6, 2009

Watermark in an Image with PHP

This is an example to write water mark in a image. Try this

$rim = 'image.JPG'; // URL TO IMAGE eg. image.jpg

$water = 'Hi Friends'; // WATERMAKR TEXT

$angle = '0'; // WATERMARK TEXT ANGLE

$ttf = 'times.ttf'; // WATERMARK TEXT FONT URL

$det = getimagesize($rim);
$mime = $det['mime'];

if ($mime == 'image/gif') {
$im = ImageCreateFromGIF($rim);
}else if ($mime == 'image/png') {
$im = ImageCreateFromPNG($rim);
}else if ($mime == 'image/jpeg') {
// echo "hi :".$mime;
$im = ImageCreateFromJpeg($rim);
}

$colorR = imagecolorallocatealpha ($im, 255, 255, 255, 50); // HEX COLOR CODE AND TRANSPARENCY

$count = strlen($water);
if($det[0] > $det[1]){
$size = $det[0]/$count;
}else{
$size = $det[1]/$count;
}

$bb = imagettfbbox($size, $angle, $ttf, $water);
$px = ($det[0]/2) - (($bb[2]-$bb[0])/2 - ($bb[2]-$bb[4])/2);
$py = ($det[1]/2) - (($bb[3]-$bb[1])/2 + ($bb[7]-$bb[1])/2);
imagettftext($im, $size, $angle, $px, $py, $colorR, $ttf, $water);

header("Content-type: image/jpeg");
imagejpeg($im,'',100);
imagedestroy($im);