Добавляем водяной знак (Watermark) для изображений. Делается это для защиты авторских прав, дополнительного упоминания сайта, либо логотипа.
Плагин Easy Watermark
Идем в настройки и выставляем параметры которые нас интересуют. Если водяные знаки нужны только для изображений загружаемых в запись в разделе Типы записей надо оставить галку только в пункте Записи.
Изображение для водяного знака желательно заранее адаптировать до нужного размера. И в настройках изображения выставить выравнивание, масштаб, отступы и прозрачность.
Можно сгенерировать watermark в ранее загруженных изображениях. Для этого надо перейти в подменю Медиафайлы > Easy Watermark и нажать Start.
Данный плагин лучше начинать использовать вначале наполнения сайта.
Image Watermark
50 000 установок. Отличный плагин. Есть функции автоматического наложения ВЗ на изображения а также функция ручного массового наложения в медиабиблиотеке. Можно настраивать на какие размеры миниатюр и типы записей накладывать ВЗ. Все оригинальные изображения резервируются и и можно убрать водяной знак с любого изображения. Но если отключить плагин то изображения с ВЗ так и останутся с ними.
Хорошие настройки расположения водяного знака: позиционирование, смещение, масштаб, прозрачность. Можно установить только один ВЗ, заполнения нет.
Дополнения (13.10.2023):
- Если установить соответствующую настройку то при отключении плагина удалятся и копии с ВЗ.
- Отсутствует функция паттерна ВЗ, т.е. когда их несколько по изображению. Но это решается PNG-файлом с нанесенными логотипами. А масштабирование ВЗ нужно установить в зависимости от размера изображения.
Водяной знак без плагина
Данный метод будет формировать водяной знак на лету, при формировании страницы. Но при этом делает это довольно быстро.
В корневой директории сайта создаем папку watermark в нее помещаем два файла: изображение водяного знака — watermark.png (уже нужного размера, можно полупрозрачным) и файл watermark.php
Содержимое файла watermark.php, жирным отмечено в хронологии:
Выравнивание и отступы
Не применять данную функцию к изображениям меньше 500px по ширине, и по высоте
<?php
waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png", "bottom=20,right=15");
function waterMark($original, $watermark, $placement = 'bottom=5,right=5', $destination = null) {
$original = urldecode($original);
$info_o = @getImageSize($original);
if (!$info_o)
return false;
$info_w = @getImageSize($watermark);
if (!$info_w)
return false;
list ($vertical, $horizontal) = split(',', $placement,2);
list($vertical, $sy) = split('=', trim($vertical),2);
list($horizontal, $sx) = split('=', trim($horizontal),2);
switch (trim($vertical)) {
case 'bottom':
$y = $info_o[1] - $info_w[1] - (int)$sy;
break;
case 'middle':
$y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy;
break;
default:
$y = (int)$sy;
break;
}
switch (trim($horizontal)) {
case 'right':
$x = $info_o[0] - $info_w[0] - (int)$sx;
break;
case 'center':
$x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx;
break;
default:
$x = (int)$sx;
break;
}
header("Content-Type: ".$info_o['mime']);
$original = @imageCreateFromString(file_get_contents($original));
$watermark = @imageCreateFromString(file_get_contents($watermark));
$out = imageCreateTrueColor($info_o[0],$info_o[1]);
imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]);
if( ($info_o[0] > 500) && ($info_o[1] > 500) ) {
imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
}
switch ($info_o[2]) {
case 1:
imageGIF($out, NULL, 100);
break;
case 2:
imageJPEG($out, NULL, 100);
break;
case 3:
imagePNG($out, NULL, 100);
break;
}
imageDestroy($out);
imageDestroy($original);
imageDestroy($watermark);
return true;
}
?>
В директорию к изображениям из которой требуется добавлять ВЗ (скорее всего папка uploads) добавляем файл .htaccess с кодом
<FilesMatch "\.(jpg|jpeg|JPG)$">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ /watermark/watermark.php [T=application/x-httpd-php,L,QSA]
</FilesMatch>
Можно указать любые расширения изображений для добавления WM форматы — gif, png, jpg, JPG, jpeg и т.д.
Обзор плагинов по добавлению watermark для изображений Woocommerce.