Спасибо
а почему GD?
я думал imageMagick лучше все операции с картинками выполняет...
и кода меньше писать
у меня вот так получилось
PHP код:
/**
* Добавляет watermark на картинку $img
*
* @param string $img - файл с картинкой
* @param string $watermark_file - файл watermark
* @return boolean true - если все нормально иначе false
*/
function addWatermark($img, $watermark_file, $disslove = 15) {
$cmd = Pictures::addWatermarkCmd($img,$watermark_file,$disslove);
if($cmd) {
exec($cmd);
return true;
}
else {
return false;
}
}
/**
* Возвращает команду для ImageMAgick для добавляет watermark на картинку $img
*
* @param string $img - файл с картинкой
* @param string $watermark_file - файл watermark
* @return string текст команда
*/
function addWatermarkCmd($img, $watermark_file, $disslove = 15) {
$data = getimagesize($img);
if($data === false) {
return false;
}
$W = Pictures::resize($watermark_file, $data);
if($W === false) {
return false;
}
$params = '-dissolve '.$disslove.' -gravity Center "'.$W .'" "'.$img.'"';
$cmd = t3lib_div::imageMagickCommand('composite', $params. ' "'.$img.'"');
return $cmd;
}