Добавление водяных знаков на изображения или копирайт на фото при помощи PHP
Когда сайт начинает заполняться контентом, в скором времени может обнаружиться, что изображения с Вашего сайта используются на посторонних сайтах и при этом без разрешения. Как защититься от воровства картинок с сайта? С этим необходимо бороться, для этого на изображения наносят водяные знаки.
Что такое водяной знак? Это знак, наносимый поверх картинки. Таким знаком может быть всё, что угодно – обычная текстовая фраза или свой логотип. Часто на изображения на своем сайте наносят адрес этого сайта или какого-либо имя.
Как добавить водяной знак на изображение? Способов есть несколько, например, можно использовать графические редакторы, специальные программы и т.д. Но для изображений на сайте проще всего использоваться скрипт на PHP для автоматического добавления копирайта на изображения.
Такой скрипт для добавления водяных знаков на изображения очень легко разработать, поэтому нет нужды устанавливать сторонние модули – можно быстро написать свой, идеально подходящий под конкретные потребности.
Готовый скрипт для добавления копирайта на картинки:
function add_watermark() {
// Задание водяного знака и папки с изображениями
$watermark = 'Watermark';
$directory = getcwd().'/images/';
// Поиск изображений jpg и png в указанной папке
$images = glob($directory.'/*.{jpg,png}', GLOB_BRACE);
// Обработка каждого изображения
foreach ($images as $image) {
// Получение информации об изображении
$data = getimagesize($image);
// Координаты наносимого текста - примерно в центре изображения
$width = $data[0];
$height = $data[1];
$x = ($width / 2) - 30;
$y = ($height / 2) + 30;
// Создание изображения из оригинального на основе его типа
$mime = $data['mime'];
if ($mime == 'image/jpeg') {
$type = 'jpeg';
$i = imagecreatefromjpeg($image);
} else if ($mime == 'image/png') {
$type = 'png';
$i = imagecreatefrompng($image);
imagesavealpha($i, true);
}
// Задание цвета и шрифта для текста (файл со шрифтом можно скопировать, например, из ОС Windows)
$grey = imagecolorallocate($i, 230, 230, 230);
$font = getcwd().'/fonts/verdana.ttf';
// Добавление водяного знака на изображение - текста
imagettftext($i, 15, 45, $x, $y, $grey, $font, $watermark);
// Перезапись оригинального изображения новым изображением со знаком
// Сохранение в зависимости от типа - jpg или png
$type == 'png' ? imagepng($i, $image) : imagejpeg($i, $image);
// Уничтожение временного изображения в оперативной памяти
imagedestroy($i);
}
}
Такую функцию можно разместить в любом удобном месте, а лучше создать на нее основе небольшой модуль для нанесения водяных знаков на изображения. Такой модуль может автоматически наносить водяные знаки на изображения при добавлении или изменении материалов на сайте. Функционал можно значительно расширить и интегрировать с интерфейсом Вашей CMS.
Например, можно сделать:
- выбор папки с изображениями через интерфейс;
- задание фразы для водяного знака при помощи текстового поля;
- переключатель в виде галочки – пересоздать все изображения или только изображения без водяного знака;
- оригинальные изображения можно хранить в отдельной защищенной папке, а подписанные картинки в другой папке и т.д.
Если Вам нужен подобный функционал на своем сайте для автоматического добавления копирайта на изображения – оставьте заявку на разработку.
Последние статьи
- 03.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 09.11.23ИТ / Базы данных Ошибки при переходе с MySQL 5.6 на 5.7 и как их исправить - импорт дампа БД завершился ошибкой или не работает INSERT. Отключение строгого режима STRICT_TRANS_TABLES или использование IGNORE
- 08.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки