Надпись на фотографии

Есть такая идея, накладывать напись на фотографию. Например, чтобы была сбоку в перпендикулярно горизонту /скажем, имя автора фотографии/. Чем можно сделать? Существует ли стандартная функция, чтобы делать это без лишнего геммороя?

Наверное это только с помощью PHP и графической библиотеки.

В одном из вариантов можно сделать так..
создаем файл textout.php:

<?php
function img_text_out($filename,$text)
{
$size_img = getimagesize($filename);
 if ($size_img[2]==2)  $src_img = imagecreatefromjpeg($filename);
 elseif ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
 elseif ($size_img[2]==3) $src_img = imagecreatefrompng($filename);
$white = imagecolorallocate ($src_img, 255, 255, 255);
 imagettftext ($src_img, 10, 90, $size_img[0]-2, $size_img[1]-2, $white, "arial.ttf", $text);
 if ($size_img[2]==2) {header('Content-type: image/jpg'); imagejpeg($src_img);}
 elseif ($size_img[2]==1) {header('Content-type: image/gif'); imagegif($src_img);}
 elseif ($size_img[2]==3) {header('Content-type: image/png'); imagepng($src_img);}
imagedestroy ($src_img);
}

$filename = $_GET['file'];
$text = $_GET['text'];

img_text_out($filename, $text);
?>

там, где нужно вставить фотографию с текстом пишем, например: <img src="textout.php?file=images/foto.jpg&text=Author%20name">

Да, эта функция требует библиотек GD и FreeType.

Можно ещё попробовать photopress’ом через watermark’и (в опциях плагина). Этот плагин можно взять на wp-plugins.net. Можно накладывать текст или даже картинку на картинку. Кажется, это немного проще.

posmatrii: http://watermark.malcherek.com

Если кому еще нужно – есть альтернативный способ:
Знакомый парень поделился своим скриптом для вставки watermark’ ВО ВСЕ картинки заданной папки и подпапок/ править ничего в блоге и картинках не нужно – тексты вставляются АВТОМАТИЧЕСКИ при просмотре картинки в блоге или попытке скачать ее отдельно по прямой ссылке. можно использовать и не только в блоге 🙂

качать отсюда http://lecactus.ru/download/bloggers_soft/copyright.rar

в текстовом редакторе в файле image.php вписать там свое имя, подправить место размещения текста – задать координаты (там все по русски распиисано что где)
и обязательно прописать ПОЛНЫЙ путь до файла шрифта (можете и свой туда засунуть вместо Arial)
например так
/lecactus/uploads/arial.ttf
ну и естественно также все это требует GD и FreeType а также mod_rewrite
Автор Сергей Коробейников www.ksn.name

Я правильно поняла, что вотермарк вставляется на лету (т.е. по сути сама картинка остается нетронутой)?

да, только при отдаче клиенту

Клево! Качаю!

Данный модуль можно расширить, вставив к нему проверку размеров, чтобы например на маленькие картинки ватермарки не ставить:

перед заданием координат текста ставится условие примерно такое

if ($x>100 && $y>100)
$check=true;
else
$check=false;

а перед выводом imagettftext ставится еще

if ($check==true)

подсказал опять же автор модуля 🙂

вот это интересно…. Поковыряюсь в нем…..

я думаю стоит скачать и расширить его возможности.

Спасибо!

там был небольшой баг есть вставить ссылку вида http://site.ru/image.jpghttp://site.ru/image.jpg то выдает ошибку с инфой о сайте (что не хорошо)
сейчас исправил htaccess и выложил туда же – выдает при этом теперь 404 страницу

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

http://lecactus.ru/download/bloggers_soft/copyright2.rar
УЛУЧШЕННЫЙ вариант. Доработал также автор по моей просьбе.
позволяет задать МАКСИМАЛЬНЫЙ размер изображения
т.е. если у вас в блоге сотни картинок всевозможных размеров то с заданием новых размеров все картинки с размерами более заданных значений автоматически будут масштабироваться до укладывания в рамки 🙂
например я давно в блог загрузил кучу фоток 1600*1200 и сейчас в лайтбоксе они выглядят некрасиво а задав ш=800 в=600 у меня все большие картинки сейчас уменьшаются автоматом. те что меньше этих размеров не затрагиваются.

Arien, это не плагин, а просто php скрипт самостоятельный. можно использовать везде, не только в блоге

Работает! Спасибо! Автору скрипта большой пламеный привет!

Супер! А расскажите как его вставить в wp, чтобы он работал???

Разобрался 😉

еще интересный пост на эту тему нашел сегодня
3 способа добавить watermark (водяной знак) на изображение — php

А существует ли возможность в php брать скажем текст из alt или title у картинки и выводить его поверх изображения?

Ага. http://php.net/manual/ru/ref.image.php

http://wordpress.org/extend/plugins/image-caption/

sonika, не, это не то. Я ж написал "поверх". Тоесть чтобы выглядело так, как будто надпись сделана в графическом редакторе, прямо на картинке. А твой способ подразумевает просто вывод текста отдельным блоком…
Хотя тоже полезный плагин, спасибо! 😉

Glook, ищите плагины по ключу "watermark".

Может быть поможет быть?
http://watermark.malcherek.com

накладывать ватермарк плагином при загрузки картинки = нерационально расходовать ресурсы сервака!
намного лучше чтобы логотип наклыдвался например при постинге картинки и была возможность использования как обычной картинки так и с логотипом!

Ну если на то пошло, то лучше уж пользоваться спецсофтом, который быстро и красиво напечатает ватермарк на картинки еще на стадии подготовки их к закачке на сервер. Благо этого добра навалом и есть бесплатное.

Софта да полно, но иногда морочиться ставить вотермарк специально для изображения 1 сайта неудобно. Поэтому авто вотермарк бывает предпочтительнее.

Я тут малех подкорректировал предлагаемы лекактусом скрипт.
Одно не знаю, сильно подгружу сервер или нет, визуально не чувствуется.
А ваше мнение

А изменения такие
вместо

$color=imagecolorallocate($image,255,255,255); //цвет
$str=iconv(‘CP1251’, ‘UTF-8’, $str);
if ($check==true)
//рисуем основной текст
imagettftext($image, $fontsize, 0, $x, $y, $color, $font, $str);

пишем

$color=imagecolorallocate($image,255,255,255); //цвет
$black=imagecolorallocate($image,0,0,0); //цвет окантовки
$str=iconv(‘CP1251’, ‘UTF-8’, $str);
if ($check==true)
//рисуем окантовку
imagettftext($image, $fontsize, 0, $x, $y – 1, $black, $font, $str);
imagettftext($image, $fontsize, 0, $x – 1, $y, $black, $font, $str);
imagettftext($image, $fontsize, 0, $x, $y + 1, $black, $font, $str);
imagettftext($image, $fontsize, 0, $x + 1, $y, $black, $font, $str);
//рисуем основной текст
imagettftext($image, $fontsize, 0, $x, $y, $color, $font, $str);

т.е. сначала создается корона из черного (можно любой цвет подобрать)
из 4 изображений со сдвигами +- 1, а на него уже накладывается основное изображение текста. У меня белое на черном, но можно ж варьировать, либо выводить не 4 а , к примеру, 2 короны, как тени. Пример
http://2aw.org/soobshheniya-v-vebmastere/

Ваше мнение?

Если кому еще нужно - есть альтернативный способ:
Знакомый парень поделился своим скриптом для вставки watermark' ВО ВСЕ картинки заданной папки и подпапок/ править ничего в блоге и картинках не нужно - тексты вставляются АВТОМАТИЧЕСКИ при просмотре картинки в блоге или попытке скачать ее отдельно по прямой ссылке. можно использовать и не только в блоге :)

качать отсюда http://lecactus.ru/download/bloggers_soft/copyright.rar

в текстовом редакторе в файле image.php вписать там свое имя, подправить место размещения текста - задать координаты (там все по русски распиисано что где)
и обязательно прописать ПОЛНЫЙ путь до файла шрифта (можете и свой туда засунуть вместо Arial) 
например так
/lecactus/uploads/arial.ttf
ну и естественно также все это требует GD и FreeType а также mod_rewrite
Автор Сергей Коробейников www.ksn.name

Спасибо большое за решение…

Кто нибудь может объяснить как немного подправить скрипт этот – чтобы картинка накладывалась, а не текст?

Ну люди.. очень надо… помогите плиз.. а то фотки начнуть воровать(((

вообщем сам я всё сделал… могу рассказать как я сделал как вот тут – http://custom-garage.ru/mazda-rx-8 кого интересует

Если кому еще нужно - есть альтернативный способ:
Знакомый парень поделился своим скриптом для вставки watermark' ВО ВСЕ картинки заданной папки и подпапок/ править ничего в блоге и картинках не нужно - тексты вставляются АВТОМАТИЧЕСКИ при просмотре картинки в блоге или попытке скачать ее отдельно по прямой ссылке. можно использовать и не только в блоге :)

качать отсюда http://lecactus.ru/download/bloggers_soft/copyright.rar

в текстовом редакторе в файле image.php вписать там свое имя, подправить место размещения текста - задать координаты (там все по русски распиисано что где)
и обязательно прописать ПОЛНЫЙ путь до файла шрифта (можете и свой туда засунуть вместо Arial) 
например так
/lecactus/uploads/arial.ttf
ну и естественно также все это требует GD и FreeType а также mod_rewrite
Автор Сергей Коробейников www.ksn.name

Для того, чтобы работал водяной знак необходимы GD и FreeType а также mod_rewrite. Это я уже понял. Поискал по форуму- выяснил, что эти опции должны быть включены на моем хостинге. Вопрос в следующем: хостер требует от меня технические названия. Где найти эту информацию? Или, если не трудно, объясните мне, как мне объяснить технической поддержке хостинга какая именно графическая библиотека ПХП мне нужна.

Если правильно понимаю
php5-gd или php4-gd
и
freetype2

Хотя странно как то. По умолчанию, у большинства библиотеки эти включены.
Странно. Это так и капчи у вас не работают, и еще куча примочек.

Если правильно понимаю
php5-gd  или php4-gd
и
freetype2

Хотя странно как то. По умолчанию, у большинства библиотеки эти включены.
Странно. Это так и капчи у вас не работают, и еще куча примочек.

Eвгений,

Наймите себе вменяемого администратора, который Вам установит или не
установит и сможет объяснить, в чем проблема!

Графическую библиотеку php – это оооооочееееееннннььь растяжимое понятие!
Больше на письма такие отвечать не будем! Мы не обязаны думать за Вас!
Мы обеспечиваем работу серверов и доменов, у нас есть десятки клиентов
которые используют WordPress, Joomla, php-nuke HostCMS и кучу другой
дрибидени!
Если у человека проблема он пишет, мне нужно установить модуль и
название его, например iconv или GD, GD2. У каждого модуля есть свое
техническое название.

Это ответ моего хостера.
Да, я не знаю как правильно называется тот или иной модуль, к сожалению. И еще не знаю очень многого, относящегося к работе серверов, языкам программирования и прочее, прочее, прочее.
Но пытаюсь разобраться. Мне это интересно.
Если Вам не трудно, напишите точно , какие модули нужно включить. Вот выписка из моего аккаунта
Баз MySQL: unlimited
Паркованных доменов: unlimited
SSH: OFF
SSL: ON
CGI: ON
PHP: ON
Управлние DNS: ON
Насколько я понимаю версия модуля должна соответствовать версии PHP?
ПС А капча действительно не работает и для водяного знака я перепробовал все плагины, которые только смог найти. 🙁

Совет бесплатный. Смените хостера. Пусть этот обеспечивает десятки клиентов.
Дешево и анлим не совместимы с поддержкой пользователя.

Хм, или у вас выделенный сервер? тогда проще самому поставить.

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

вообщем сам я всё сделал... могу рассказать как я сделал как вот тут - http://custom-garage.ru/mazda-rx-8 кого интересует

Ребята, прошу помочь найти плагин для последней версии вордпресса, чтобы логотип (картинка) накладывалась на изображение, а нет текст (пример как в ссылке выше)

Заранее спасибо!

http://lecactus.ru/download/bloggers_soft/copyright2.rar
УЛУЧШЕННЫЙ вариант. Доработал также автор по моей просьбе.
позволяет задать МАКСИМАЛЬНЫЙ размер изображения
т.е. если у вас в блоге сотни картинок всевозможных размеров то с заданием новых размеров все картинки с размерами более заданных значений автоматически будут масштабироваться до укладывания в рамки :)
например я давно в блог загрузил кучу фоток 1600*1200 и сейчас в лайтбоксе они выглядят некрасиво а задав ш=800 в=600 у меня все большие картинки сейчас уменьшаются автоматом. те что меньше этих размеров не затрагиваются.

Arien, это не плагин, а просто php скрипт самостоятельный. можно использовать везде, не только в блоге

Lecactus, понимаю, что тема стара, но можешь перезалить файл?
Спасибо

Anonymous
Отправить
Ответ на: