powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите совместить скрипт!!! Watermark
5 сообщений из 5, страница 1 из 1
Помогите совместить скрипт!!! Watermark
    #38001872
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте уважаемые форумчане помогите совместить скрипт.

Пытаюсь совместить готовый скрипт для отрисовки водяного знака и функцию которая отрисовывает текст по диагонали.
Вот собственно эти две функции...

****Работающий скрипт****
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
<? 

waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png", "bottom=5,right=5"); 

function waterMark($original, $watermark, $placement = 'bottom=5,right=5', $destination = null) { 
   $original = urldecode($original);
   $info_o = @getImageSize($original); 
   if (!$info_o) 
         return false; 
   $info_w = @getImageSize($watermark); 
   if (!$info_w) 
         return false; 

   list ($vertical, $horizontal) = split(',', $placement,2); 
   list($vertical, $sy) = split('=', trim($vertical),2); 
   list($horizontal, $sx) = split('=', trim($horizontal),2); 

   switch (trim($vertical)) { 
      case 'bottom': 
         $y = $info_o[1] - $info_w[1] - (int)$sy; 
         break; 
      case 'middle': 
         $y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy; 
         break; 
      default: 
         $y = (int)$sy; 
         break; 
      } 

   switch (trim($horizontal)) { 
      case 'right': 
         $x = $info_o[0] - $info_w[0] - (int)$sx; 
         break; 
      case 'center': 
         $x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx; 
         break; 
      default: 
         $x = (int)$sx; 
         break; 
      } 

   header("Content-Type: ".$info_o['mime']); 

   $original = @imageCreateFromString(file_get_contents($original)); 
   $watermark = @imageCreateFromString(file_get_contents($watermark)); 
   $out = imageCreateTrueColor($info_o[0],$info_o[1]); 

   imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]); 

//&#210;&#243;&#242; &#231;&#224;&#228;&#224;&#229;&#236; &#240;&#224;&#231;&#236;&#229;&#240; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#255; &#226; &#234;&#238;&#242;&#238;&#240;&#251;&#229; &#236;&#238;&#230;&#237;&#238; &#228;&#238;&#225;&#224;&#226;&#235;&#255;&#242;&#252; Watermark
// $info_o[0] > 250 - &#248;&#232;&#240;&#232;&#237;&#224; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#255; &#228;&#238;&#235;&#230;&#237;&#224; &#225;&#251;&#242;&#252; &#225;&#238;&#235;&#252;&#248;&#229; 250 px
// $info_o[1] > 250 - &#226;&#251;&#241;&#238;&#242;&#224; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#255; &#228;&#238;&#235;&#230;&#237;&#224; &#225;&#251;&#242;&#252; &#225;&#238;&#235;&#252;&#248;&#229; 250 px

   if( ($info_o[0] > 250) && ($info_o[1] > 250) )
   {
   imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
   }

   switch ($info_o[2]) { 
      case 1: 
         imageGIF($out); 
         break; 
      case 2: 
         imageJPEG($out); 
         break; 
      case 3: 
         imagePNG($out); 
         break; 
         } 

   imageDestroy($out); 
   imageDestroy($original); 
   imageDestroy($watermark); 

   return true; 
   } 

?>


****Функция которую хочу вставить, вместо простого водяного знака. Хочу что бы по диагонали выводился текст.****
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  function create_watermark( $main_img_obj, $text, $font, $r = 128, $g = 128, $b = 128, $alpha_level = 100 )
  {
   $width = imagesx($main_img_obj);
   $height = imagesy($main_img_obj);
   $angle =  -rad2deg(atan2((-$height),($width)));

   $text = " ".$text." ";

   $c = imagecolorallocatealpha($main_img_obj, $r, $g, $b, $alpha_level);
   $size = (($width+$height)/2)*2/strlen($text);
   $box  = imagettfbbox ( $size, $angle, $font, $text );
   $x = $width/2 - abs($box[4] - $box[0])/2;
   $y = $height/2 + abs($box[5] - $box[1])/2;

   imagettftext($main_img_obj,$size ,$angle, $x, $y, $c, $font, $text);
   return $main_img_obj;
  }



Как совместить верхний с нижним скриптом?????
...
Рейтинг: 0 / 0
Помогите совместить скрипт!!! Watermark
    #38001891
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первом скрипте за основу берется предварительно заготовленная картинка watermark.png а я хочу что бы можно было вместо неё выводить текст по диагонали.
...
Рейтинг: 0 / 0
Помогите совместить скрипт!!! Watermark
    #38001897
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробую сделать что-то такое но мой вариант не работает!!!
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<? 
$original = urldecode($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI']);
$watermark = new watermark1();
$img = imagecreatefromjpeg($original);
$info_o = @getImageSize($original);
$im=$watermark->create_watermark($img,”www.kartina31.ru”,”ARIAL.TTF”,0,0,255,120);
header("Content-Type: ".$info_o['mime']);
imagejpeg($im,”result.jpg”);

  function create_watermark( $main_img_obj, $text, $font, $r = 128, $g = 128, $b = 128, $alpha_level = 100 )
  {
   $width = imagesx($main_img_obj);
   $height = imagesy($main_img_obj);
   $angle =  -rad2deg(atan2((-$height),($width)));

   $text = " ".$text." ";

   $c = imagecolorallocatealpha($main_img_obj, $r, $g, $b, $alpha_level);
   $size = (($width+$height)/2)*2/strlen($text);
   $box  = imagettfbbox ( $size, $angle, $font, $text );
   $x = $width/2 - abs($box[4] - $box[0])/2;
   $y = $height/2 + abs($box[5] - $box[1])/2;

   imagettftext($main_img_obj,$size ,$angle, $x, $y, $c, $font, $text);
   return $main_img_obj;
  }

?>
...
Рейтинг: 0 / 0
Помогите совместить скрипт!!! Watermark
    #38001921
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел одну ошибку. Не был класса я при перекопировании его потерял. Плюс ещё добавил вывод ошибок. Но скрипт по прежнему не работает. В чем может быть дело?????
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<? 
ini_set('display_errors',1);
error_reporting(E_ALL);

$original = urldecode($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI']);
$watermark = new watermark1();
$img = imagecreatefromjpeg($original);
$info_o = @getImageSize($original);
$im=$watermark->create_watermark($img,”www.kartina31.ru”,”ARIAL.TTF”,0,0,255,120);
header("Content-Type: ".$info_o['mime']);
imagejpeg($im,”result.jpg”);
class watermark1()
{
  function create_watermark( $main_img_obj, $text, $font, $r = 128, $g = 128, $b = 128, $alpha_level = 100 )
  {
   $width = imagesx($main_img_obj);
   $height = imagesy($main_img_obj);
   $angle =  -rad2deg(atan2((-$height),($width)));

   $text = " ".$text." ";

   $c = imagecolorallocatealpha($main_img_obj, $r, $g, $b, $alpha_level);
   $size = (($width+$height)/2)*2/strlen($text);
   $box  = imagettfbbox ( $size, $angle, $font, $text );
   $x = $width/2 - abs($box[4] - $box[0])/2;
   $y = $height/2 + abs($box[5] - $box[1])/2;

   imagettftext($main_img_obj,$size ,$angle, $x, $y, $c, $font, $text);
   return $main_img_obj;
  }
}
?>
...
Рейтинг: 0 / 0
Помогите совместить скрипт!!! Watermark
    #38002003
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил сам... Пользуйтесь!
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?
ini_set('display_errors',1);
error_reporting(E_ALL);

class watermark1
{
  function create_watermark( $main_img_obj, $text, $font, $r = 128, $g = 128, $b = 128, $alpha_level = 100 )
  {
   $width = imagesx($main_img_obj);
   $height = imagesy($main_img_obj);
   $angle =  -rad2deg(atan2((-$height),($width)));

   $text = " ".$text." ";

   $c = imagecolorallocatealpha($main_img_obj, $r, $g, $b, $alpha_level);
   $size = (($width+$height)/2)*2/strlen($text);
   $box  = imagettfbbox ( $size, $angle, $font, $text );
   $x = $width/2 - abs($box[4] - $box[0])/2;
   $y = $height/2 + abs($box[5] - $box[1])/2;

   imagettftext($main_img_obj,$size ,$angle, $x, $y, $c, $font, $text);
   return $main_img_obj;
  }
}

$watermark = new watermark1();
$img = imagecreatefromjpeg("sample1.jpg");
$info_o = @getImageSize("sample1.jpg");

$im=$watermark->create_watermark($img,"www.kartina31.ru","ARIAL.TTF",0,0,255,80);

$out = imageCreateTrueColor($info_o[0],$info_o[1]);
imageCopy($out, $im, 0, 0, 0, 0, $info_o[0], $info_o[1]);

header("Content-Type: image/jpeg");
imagejpeg($out);

imageDestroy($im);
imageDestroy($out);
?>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите совместить скрипт!!! Watermark
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]