View file system/inc/classes/watermark.class.php

File size: 3.81Kb
<?

/**
 * Наложение водяного знака в виде изображения
 * @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;

}


?>