PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: текстовый
maragon
Отправлено: 05 Июня, 2011 - 01:34:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




В шаре много примеров водяных знаков, которые накладывают поверх исходного - .png, все отлично работает, Но, никак не могу отыскать пример - в которым бы текст на фото выводился (на черном фоне, снизу изображения).
Пример - загрузил изображением. Улыбка
Прикреплено изображение
121212.jpg
 
 Top
DlTA
Отправлено: 05 Июня, 2011 - 02:02:01
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2867
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




maragon пишет:
на черном фоне, снизу изображения
открою большой секрет, от такого "водяного знака" очень легко избавиться, а значит получить контент изображения без признаков преднадлежности,
собсна ради этого и наносят водяной знак!
 
 Top
maragon
Отправлено: 05 Июня, 2011 - 13:20:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Ну раз начали, тогда от какого водяного не так легко избавиться? Закатив глазки
И все же, примерчеги есть у кого?
 
 Top
IllusionMH
Отправлено: 05 Июня, 2011 - 14:21:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




maragon, мне больше всего вотермарки на сайтах envato нравятся.
Пример
 
 Top
Tmin10
Отправлено: 05 Июня, 2011 - 16:31:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 239
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Да. от таких так просто не избавишься...
 
 Top
maragon
Отправлено: 05 Июня, 2011 - 19:55:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Забудем о мега-сложных водяных. Найти бы самый простой 9с текстом) на фоне. Хм

(Отредактировано автором: 05 Июня, 2011 - 20:03:43)

 
 Top
OrmaJever Модератор
Отправлено: 05 Июня, 2011 - 20:04:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 7551
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




так же как и на капче текст рисуем, так и на картинке


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DlTA
Отправлено: 05 Июня, 2011 - 20:30:25
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2867
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




maragon,
простейший пример (Отобразить)
где то когда то нашел

и если интересует
более навороченный вариант (Отобразить)
этот вариант пришлось дорабатывать

и
пример использование (Отобразить)
 
 Top
maragon
Отправлено: 05 Июня, 2011 - 22:01:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




DlTA Буду методом тыка и гугла. Ха-ха
благодарю.
OrmaJever еще не работал с каптчей, вот и задаю подобные вопросы. Улыбка
(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2. function watermarkImage ($SourceFile='', $WaterMarkText='', $DestinationFile='')
  3.         {
  4.         list($width, $height) = getimagesize($SourceFile);
  5.         $image_p = imagecreatetruecolor($width, $height);
  6.         $image = imagecreatefromjpeg($SourceFile);
  7.         imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height);
  8.         $black = imagecolorallocate($image_p, 128, 128, 128);
  9.         $font = 'pioneer.ttf';
  10.         $font_size = 12;
  11.         imagettftext($image_p, $font_size, 0, 200, 370, $black, $font, $WaterMarkText);
  12.         if ($DestinationFile<>'')
  13.         {
  14.         imagejpeg ($image_p, $DestinationFile, 100);
  15.         }
  16.         else
  17.         {
  18.         header('Content-Type: image/jpeg');
  19.         imagejpeg($image_p, null, 100);
  20.         };
  21.         imagedestroy($image);
  22.         imagedestroy($image_p);
  23.         };
  24.                 $SourceFile = $dir_full1;
  25.         $DestinationFile = $dir_full1;
  26.         $WaterMarkText = "www.maragon.ru/n".$n."";
  27.         watermarkImage ($SourceFile, $WaterMarkText, $DestinationFile);
  28.  

Работать - работает, но как изменить позицию нанесения? в данный момент текст выводится на середину изображения, что сугубо некрасиво. Огорчение
(Добавление)
Попытался облегчить задачу, при загрузке фото - резайзим 1000px ширина у всех, и все равно на середину ввести текст не могу. Ха-ха Огорчение
(Добавление)
Разобрался. нужно учитывать $height, $width и манипульровать.
Что-то прям долго думал)
 
 Top
OrmaJever Модератор
Отправлено: 05 Июня, 2011 - 23:42:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 7551
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




4(х) и 5(у) параметр у функции imagettftext() (11 строка) это точки начала рисования.
Их можно ращитать из ширины, высоты, размера шрифта и объема текста (Вобще небольшая формула)


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
maragon
Отправлено: 05 Июня, 2011 - 23:46:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




а где выловить эту рыбу (формулу)?
а то я + да - балуюсь.
 
 Top
OrmaJever Модератор
Отправлено: 06 Июня, 2011 - 01:18:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7551
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Ну самому продумать и написать.
Например
CODE (htmlphp):
скопировать код в буфер обмена
  1. размер шрифта = ширина / (количество символов + 4);
  2. начало Y = (ширина - (количество символов * размер шрифта)) / 2;

Ну вот я так бы ращитал шрифт и начало по Y для рисования текста горизонтально по цетру как на картинке в 1 посте
(Добавление)
Вобще работа с динамическими изображениями это сплошная математика

(Отредактировано автором: 06 Июня, 2011 - 01:24:33)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
maragon
Отправлено: 06 Июня, 2011 - 16:55:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




(количество символов + 4) ? а что за кол-во символов.

(Отредактировано автором: 06 Июня, 2011 - 17:29:46)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB