Watermark в doit-cms
Для создания и использования watermark в doit-cms необходимо создать специализированнаую функцию, которая будет отвечать за создание и вывод изображения с watermark'ом.
Создание функции watermark()
В папке app создаем папку с названием mod_watermark. Далее, в папке mod_watermark создаем php файл с именем watermark.func.php. Копируем в этот файл нижепреведенный код:
<?php
function generate_watermark($jpeg, $png, $result)
{
$ext = strtolower(substr(strrchr($jpeg, '.'), 1));
$stamp = imagecreatefrompng($png);
switch ($ext){
case 'jpg':
$im = imagecreatefromjpeg($jpeg);
break;
case 'jpeg':
$im = imagecreatefromjpeg($jpeg);
break;
case 'png':
$im = imagecreatefrompng($jpeg);
break;
case 'gif':
$im = imagecreatefromgif($jpeg);
break;
case 'bmp':
$im = imagecreatefromgif($jpeg);
break;
}
$marge_right = 2;
$marge_bottom = 2;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0,
imagesx($stamp), imagesy($stamp));
imagejpeg($im,$result);
}
function watermark($image)
{
$new_watermark = md5($image).'-w';
$imagenew = preg_replace('/[a-z0-9]{32}/',$new_watermark,$image);
if(!file_exists($_SERVER['DOCUMENT_ROOT'].$imagenew)){
generate_watermark($_SERVER['DOCUMENT_ROOT'].$image, 'ПУТЬ ДО Watermark',
$_SERVER['DOCUMENT_ROOT'].$imagenew);
}
return $imagenew;
}
В строке 51 фразу ПУТЬ ДО Watermark необходимо заменить на действующий путь до watermark'а.
Функция для работы с watermark готова. Что бы использовать изображения с нанесенным на них watermark'ом, в шаблоне прописываем:
<img src= "{.image|watermark}"> или <a href="{.image|watermark}">
Ниже, сможете скачать файл watermark.func.php
Скачать watermark.func.zip