<?
/**
* Наложение водяного знака в виде изображения
* @param $oldimage_name - исходное изображение
* @param $new_image_name - выходное изображение
* @return Boolean
*/
function watermark_image($oldimage_name, $new_image_name){
// получаем имя изображения, используемого в качестве водяного знака
global $image_path;
// получаем размеры исходного изображения
list($owidth,$oheight) = getimagesize($oldimage_name);
// задаем размеры для выходного изображения
$width = 600;
$height = 300;
// создаем выходное изображение размерами, указанными выше
$im = imagecreatetruecolor($width, $height);
$img_src = imagecreatefromjpeg($oldimage_name);
// наложение на выходное изображение, исходного
imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);
$watermark = imagecreatefrompng($image_path);
// получаем размеры водяного знака
list($w_width, $w_height) = getimagesize($image_path);
// определяем позицию расположения водяного знака
$pos_x = $width - $w_width;
$pos_y = $height - $w_height;
// накладываем водяной знак
imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height);
// сохраняем выходное изображение, уже с водяным знаком в формате jpg и качеством 100
imagejpeg($im, $new_image_name, 100);
// уничтожаем изображения
imagedestroy($im);
unlink($oldimage_name);
return true;
}
/**
* Наложение водяного знака в виде текста
* @param $oldimage_name - исходное изображение
* @param $new_image_name - выходное изображение
* @return Boolean
*/
function watermark_text($oldimage_name, $new_image_name){
// получение значений шрифта, размера и текста, используемых для наложение
global $font_path, $font_size, $water_mark_text;
// получаем размеры исходного изображения
list($owidth,$oheight) = getimagesize($oldimage_name);
// задаем размеры для выходного изображения
$width = 600;
$height = 300;
// создаем выходное изображение размерами, указанными выше
$image = imagecreatetruecolor($width, $height);
$image_src = imagecreatefromjpeg($oldimage_name);
// наложение на выходное изображение, исходного
imagecopyresampled($image, $image_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);
// задаем цвет для накладываемого текста
$blue = imagecolorallocate($image, 79, 166, 185);
// определяем позицию расположения водяного знака
$pos_x = $width - (strlen($water_mark_text)-1)*$font_size;
$pos_y = $height;
// наложение текста на выходное изображение
imagettftext($image, $font_size, 0, $pos_x, $pos_y, $blue, $font_path, $water_mark_text);
// сохраняем выходное изображение, уже с водяным знаком в формате jpg и качеством 100
imagejpeg($image, $new_image_name, 100);
// уничтожаем изображения
imagedestroy($image);
unlink($oldimage_name);
return true;
}
?>