Нам понадобится:
1. Библиотека GD2 (благо почти га всех хостингах она есть).
2. Файл с самим логотипом logo.png (не забудьте сделать фон прозрачным)
Собственно код:
$uploaddir="../pic/"; //путь до каталога с картинками $file_name="pic.jpg"; //имя файла с картинкой $logo_h = getimagesize("logo.png"); //$logo_h = getimagesize(imagettftext("text")); //если надо писать текст $pic_h = getimagesize($uploaddir.$file_name); $logo = imagecreatefrompng ("znak.png"); //$logo = imagettftext("text"); $pic = imagecreatefromjpeg ($uploaddir.$file_name); //вычисляем координаты для размещения логотипа на картинке imagecopy ($pic, $logo, $pic_h[0] - $logo_h[0], $pic_h[1] - $logo_h[1], 0,0, $logo_h[0], $logo_h[1]); //сохраняем картинку с логотипом imagejpeg ($pic, $uploaddir."new_".$file_name, "100"); //убиваем переменные imagedestroy ($logo); imagedestroy ($pic);Готовые картинки сохраняются в том же каталоге, но с препиской new_ в начале имени файла.
Данный код следует вставить перед загрузкой картинок и проверять. Если файла new_ нет, то запускаем этот код и генерируем картинку, иначе грузим из кэша. Проверить существование файла можно функцией:
is_file("pic.jpg");Или же рисуем логотип при закачке файла на сервер, но тогда надо добавить код, удаляющий оригинал. Например так:
unlink("pic.jpg");
Тоже решал когда-то подобную задачу (правда там гораздо больше требований к результату было). А так весьма полезная статья.
ОтветитьУдалить