Блог старого компьютера

Блог старого компьютера


Главная PHP Копирайт на фотографию средствами PHP (Функция)

Копирайт на фотографию средствами PHP (Функция)

21.09.2012 10:18 Администратор PHP
Печать PDF
Понадобилась мне как то возможность добавления копирайта на изображение средствами PHP, так как свои фотографии я начал обнаруживать то на одном сайте то на другом. Конечно же от такого копирайта если постараться можно избавится с помощью фотошопа, либо путем подрезания нижнего края изображения. Добавлять копирайт на каждое изображение было бы не разумным тем более что иногда необходимо наложить логотип не на одну сотню снимков. Это бы заняло просто уйму времени. Дабы экономить время да и для удобства был написан скрипт который прошаривал всю папку и на найденные изображения лепил копирайт и плюсом к этому создавал миниэскизы. Далее мне оставалось только залить фотографии на хостинг и выбрать залитую папку в качестве галлереи.  

Весь скрипт рассматривать не буду, а вот функцию которая отвечала за наложение копирайта выложу и прокомментирую. Так же хочу отметить что подобных функция в интернете навалом, но не все они на столько просты и миниатюрны.

Код функции добавления логотипа на изображение: 

function logo($i,$l){
// изображение
$image = imagecreatefromjpeg($i);
// ширина изображения
$image_width = imagesx($image);
// высота изображения
$image_height = imagesy($image);
// логотип
$logo = imagecreatefrompng($l);
// ширина логотипа
$logo_width = imagesx($logo);
// высота логотипа
$logo_height = imagesy($logo);
// Позиция лого
$image_x = $image_width - $logo_width - 10;
$image_y = $image_height - $logo_height - 10;
imagecopy($image, $logo, $image_x, $image_y, 0, 0, $logo_width, $logo_height);
// Освобождаем память изображения-логотипа
imagedestroy($logo);
// Перезаписываем изображение
imagejpeg($image, $i);
}

 Для работы функции необходимо передать 2 параметра. Первый параметр это путь до исходного изображения - $i. Второй параметр это путь до вашего логотипа для наложения $l.

Пример использования функции

logo("img/r12.jpg".$filename, "watermark.png");

 Позицию размещения логотипа можно легко изменить путем передачи в функция imagecopy() других параметров.

Результат выполнения функции:

Помоему результат замечательный. Так же хочу сказать что для работы данной пользавательской функции необходима установленная GD библиотека. Вот вроде бы и все.

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела