Веб-разработка, логотип Eqsash

Добавление водяных знаков на изображения или копирайт на фото при помощи PHP

Когда сайт начинает заполняться контентом, в скором времени может обнаружиться, что изображения с Вашего сайта используются на посторонних сайтах и при этом без разрешения. Как защититься от воровства картинок с сайта? С этим необходимо бороться, для этого на изображения наносят водяные знаки.

watermark-images-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.

Например, можно сделать:

Если Вам нужен подобный функционал на своем сайте для автоматического добавления копирайта на изображения – оставьте заявку на разработку.

Оставить заявку

Последние статьи

Популярные разделы