<?php
// исходное изображение
$img="pic1.jpg";
// imagecreatefrompng - создаёт новое изображение из файла или URL
// водный знак
$wm=imagecreatefrompng('logo.png');
// imagesx - получает ширину изображения
$wmW=imagesx($wm);
// imagesy - получает высоту изображения
$wmH=imagesy($wm);
// imagecreatetruecolor - создаёт новое изображение true color
$image=imagecreatetruecolor($wmW, $wmH);
// eregi - совпадение с регулярным выражением без учёта регистра символов
// выясняем расширение изображения на которое будем накладывать водный знак
if(eregi('.gif',$img))
{
$image=imagecreatefromgif($img);
}
elseif(eregi('.jpeg',$img)||eregi('.jpg',$img))
{
$image=imagecreatefromjpeg($img);
}
elseif(eregi('.png',$img))
{
$image=imagecreatefrompng($img);
}
else
{
die("Ошибка! Неизвестное расширение изображения");
}
// узнаем размер изображения
$size=getimagesize($img);
// указываем координаты, где будет располагаться водный знак
/*
* $size[0] - ширина изображения
* $size[1] - высота изображения
* В нашем примере изображение размером 448x336
* Координаты соответственно будут
* $x=448-88-10=277
* $y=336-31-10=265
* - 10 -это расстояние от границы исходного изображения
*/
$cx=$size[0]-$wmW-10;
$cy=$size[1]-$wmH-10;
/*** imagecopyresampled - копирует и изменяет размеры части изображения
* с пересэмплированием
*/
imagecopyresampled ($image, $wm, $cx, $cy, 0, 0, $wmW, $wmH, $wmW, $wmH);
/*** imagejpeg - создаёт JPEG-файл filename из изображения image
* третий параметр - качество нового изображение
* параметр является необязательным и имеет диапазон значений
* от 0 (наихудшее качество, наименьший файл)
* до 100 (наилучшее качество, наибольший файл)
* По умолчанию используется значение по умолчанию IJG quality (около 75)
*/
imagejpeg($image,$img,90);
// imagedestroy - освобождает память
imagedestroy($image);
imagedestroy($wm);
// на всякий случай
unset($image,$img);
?>