Форумы портала PHP.SU » » Графика в PHP » Я водяной..

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

1. maragon - 05 Июня, 2011 - 01:34:38 - перейти к сообщению
В шаре много примеров водяных знаков, которые накладывают поверх исходного - .png, все отлично работает, Но, никак не могу отыскать пример - в которым бы текст на фото выводился (на черном фоне, снизу изображения).
Пример - загрузил изображением. Улыбка
2. DlTA - 05 Июня, 2011 - 02:02:01 - перейти к сообщению
maragon пишет:
на черном фоне, снизу изображения
открою большой секрет, от такого "водяного знака" очень легко избавиться, а значит получить контент изображения без признаков преднадлежности,
собсна ради этого и наносят водяной знак!
3. maragon - 05 Июня, 2011 - 13:20:22 - перейти к сообщению
Ну раз начали, тогда от какого водяного не так легко избавиться? Закатив глазки
И все же, примерчеги есть у кого?
4. IllusionMH - 05 Июня, 2011 - 14:21:01 - перейти к сообщению
maragon, мне больше всего вотермарки на сайтах envato нравятся.
Пример
5. Tmin10 - 05 Июня, 2011 - 16:31:12 - перейти к сообщению
Да. от таких так просто не избавишься...
6. maragon - 05 Июня, 2011 - 19:55:25 - перейти к сообщению
Забудем о мега-сложных водяных. Найти бы самый простой 9с текстом) на фоне. Хм
7. OrmaJever - 05 Июня, 2011 - 20:04:59 - перейти к сообщению
так же как и на капче текст рисуем, так и на картинке
8. DlTA - 05 Июня, 2011 - 20:30:25 - перейти к сообщению
maragon,
простейший пример (Отобразить)
где то когда то нашел

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

и
пример использование (Отобразить)
9. maragon - 05 Июня, 2011 - 22:01:52 - перейти к сообщению
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 и манипульровать.
Что-то прям долго думал)
10. OrmaJever - 05 Июня, 2011 - 23:42:27 - перейти к сообщению
4(х) и 5(у) параметр у функции imagettftext() (11 строка) это точки начала рисования.
Их можно ращитать из ширины, высоты, размера шрифта и объема текста (Вобще небольшая формула)
11. maragon - 05 Июня, 2011 - 23:46:25 - перейти к сообщению
а где выловить эту рыбу (формулу)?
а то я + да - балуюсь.
12. OrmaJever - 06 Июня, 2011 - 01:18:45 - перейти к сообщению
Ну самому продумать и написать.
Например
CODE (htmlphp):
скопировать код в буфер обмена
  1. размер шрифта = ширина / (количество символов + 4);
  2. начало Y = (ширина - (количество символов * размер шрифта)) / 2;

Ну вот я так бы ращитал шрифт и начало по Y для рисования текста горизонтально по цетру как на картинке в 1 посте
(Добавление)
Вобще работа с динамическими изображениями это сплошная математика
13. maragon - 06 Июня, 2011 - 16:55:59 - перейти к сообщению
(количество символов + 4) ? а что за кол-во символов.

 

Powered by ExBB FM 1.0 RC1