Вот сам код. $server_name Выводит имя
imagettftext($im, 10, 0, 35, 72, $text_cl, $font, $server_name );
Если имя длинное, то оно выходит за рамки (не умещаеться)
Как же сделать чтобы он переносил текст. Пример
Заранее спасибо.
Спустя 8 минут, 24 секунды (13.04.2011 - 13:55) sharki написал(а):
Скорее всего, нужно делать условие
if(strlen($str) > 30) {
$server_name = wordwrap($server_name, 30, "\n", 1);
imagettftext($im, 10, 0, 35, 72, $text_cl, $font, $server_name );
}else{
imagettftext($im, 10, 0, 35, 72, $text_cl, $font, $server_name );
}
Спустя 5 минут, 28 секунд (13.04.2011 - 14:00) 715kg написал(а):
sharki
Поставил, но текст как был, так и остался за рамкой.
Мб что не так делаю? Просто новичёк.
Поясни что означают цифры 30 и "\n", 1
Поставил, но текст как был, так и остался за рамкой.
Мб что не так делаю? Просто новичёк.
Поясни что означают цифры 30 и "\n", 1
Спустя 5 минут, 47 секунд (13.04.2011 - 14:06) sharki написал(а):
wordwrap -- Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.
http://www.php.su/functions/?wordwrap
т.е wordwrap($server_name, 30, "\n", 1); берем строку $server_name считаем первые 30 символов, и по окончанию этих символов, разделить строку символом переноса строки \n, если последний аргумент установлен в 1, разрыв делается точно в заданной колонке. Поэтому если исходная строка содержит слово длиннее, чем заданная длина, то в этом случае слово будет разорвано.
Функция возвращает уже обработанную строку, почитай в мане.
if(strlen($str) > 30) здесь проверяется если длина строки больше 30 символов то выполнить условие, а если меньше то выполнить блок кода в else
Вообще надо поэкспериментировать, если не получается, обреж строку и сделай два imagettftext(); со сдвигом пикселей вниз.
http://www.php.su/functions/?wordwrap
т.е wordwrap($server_name, 30, "\n", 1); берем строку $server_name считаем первые 30 символов, и по окончанию этих символов, разделить строку символом переноса строки \n, если последний аргумент установлен в 1, разрыв делается точно в заданной колонке. Поэтому если исходная строка содержит слово длиннее, чем заданная длина, то в этом случае слово будет разорвано.
Функция возвращает уже обработанную строку, почитай в мане.
if(strlen($str) > 30) здесь проверяется если длина строки больше 30 символов то выполнить условие, а если меньше то выполнить блок кода в else
Вообще надо поэкспериментировать, если не получается, обреж строку и сделай два imagettftext(); со сдвигом пикселей вниз.
Спустя 5 минут, 35 секунд (13.04.2011 - 14:12) 715kg написал(а):
Вообщем если ставить так,
То работает. Но применяется ко всем всем imagettftext С $server_name
Вот что вышло.
А это не желательно.
$server_name = wordwrap($server_name, 21, "\n", 2);
imagettftext($im, 10, 0, 35, 72, $text_cl, $font, $server_name );
То работает. Но применяется ко всем всем imagettftext С $server_name
Вот что вышло.
А это не желательно.
Спустя 1 минута, 20 секунд (13.04.2011 - 14:13) sharki написал(а):
715kg
Ну так назови разными именами, ведь это разные блоки)
А применяется ко всем, т.к переменная находится внутри одного блока функций, т.е она общая, в этом и проблема.
Ну так назови разными именами, ведь это разные блоки)
А применяется ко всем, т.к переменная находится внутри одного блока функций, т.е она общая, в этом и проблема.
Спустя 3 минуты, 35 секунд (13.04.2011 - 14:17) 715kg написал(а):
Я так и подумал. Спасибо. Всё сделал.
Спустя 2 минуты, 48 секунд (13.04.2011 - 14:20) sharki написал(а):
715kg
Кстати как ты получаешь изображение с сервера? какая карта и сколько народу гамает?)
Кстати как ты получаешь изображение с сервера? какая карта и сколько народу гамает?)
Спустя 9 минут, 51 секунда (13.04.2011 - 14:29) 715kg написал(а):
Ещё вопрос, а как сделать чтобы когда вторая строка так же заканчивалась, она не вылезала далее а больше не показывалась. Ну то есть поставить ограничения.
Пример.
После 21 символа, перенос строки. Вторая строка тоже 21 символ, после чего не перенос, а обрезание.
--------------------------------------------------------------------
Что касается карты,
Думаю понятно что переменная $server_maps Так же выводит имя карты.
Пример.
$server_name, 21, "\n", 2
После 21 символа, перенос строки. Вторая строка тоже 21 символ, после чего не перенос, а обрезание.
--------------------------------------------------------------------
Что касается карты,
$status = imagecreatefromjpg('maps/'.$server_maps.'.jpg');
imagecopyresized($im, $status, 34, 105, 0, 0, 120, 90, 120, 90);
Думаю понятно что переменная $server_maps Так же выводит имя карты.
Спустя 10 минут, 30 секунд (13.04.2011 - 14:40) sharki написал(а):
715kg
Ну это понятно насчет картинки, она тебе пересылается с сервера CS?
есть функция $cutStr =mb_substr($str,0,21); т.е взять строку $str и вырезать 21 символ с 0 (нулевого)
Ну это понятно насчет картинки, она тебе пересылается с сервера CS?
есть функция $cutStr =mb_substr($str,0,21); т.е взять строку $str и вырезать 21 символ с 0 (нулевого)
Спустя 5 минут, 51 секунда (13.04.2011 - 14:46) 715kg написал(а):
sharki
Спасибо, всё понял.
Нет, скрины карт лежат в папке maps рядом со скриптом.
Спасибо, всё понял.
Нет, скрины карт лежат в папке maps рядом со скриптом.
Спустя 10 минут, 58 секунд (13.04.2011 - 14:57) sharki написал(а):
715kg
Скрины вручную чтоль кидаешь? т.е ты идешь на сервер, делаешь скрин сервера и т.п
Скрины вручную чтоль кидаешь? т.е ты идешь на сервер, делаешь скрин сервера и т.п
Спустя 3 часа, 40 минут, 23 секунды (13.04.2011 - 18:37) 715kg написал(а):
sharki
Нет, можно скачать пак скринов карт)) Иногда сам делаю. Я вот где то скачал пак из 10000 скринов карт и все)
Нет, можно скачать пак скринов карт)) Иногда сам делаю. Я вот где то скачал пак из 10000 скринов карт и все)
Спустя 13 минут, 51 секунда (13.04.2011 - 18:51) sharki написал(а):
Ужас))
Спустя 9 минут, 44 секунды (13.04.2011 - 19:01) 715kg написал(а):
почему ужас? У всех мониторингов такая система. _) Не видел ни одного мониторинга у которого небыло бы папки содержащий скиншоты карт)
Спустя 14 минут, 32 секунды (13.04.2011 - 19:15) sharki написал(а):
Ну это понятное дело, я думал там на сервере есть какой скрипт, который выполняется через какой то промежуток времени, он идет и смотрит что за карта, возвращает ответ, и тут уже распоряжайтесь что и как.