Здравсвтуйте.
Проблема такая:
Рисую на картинке текст, цифры, короче говоря счетчик посещений.
Все цифры рисуются в правом верхнем углу картинки 88 x 31 пикселей.
Так вот проблема в том что если указать более 2 символов то эти символы уходят за границу видимости.
Переменной $igrik задается положение по y.
Переменной $count кол-во посетителей за день
Как мне динамически уменьшать переменную $igrik на 5, когда переменная $count будет увеличиватся например станет 50 или 500, тоесть соответственно 2 и 3 символа, чтобы символы не выходили за границу рисунка.
Я поробовал узнавать кол-во символов функцией strlen, но как мне правельно уменьшать переменную $igrik, подскажите?
Спустя 55 минут, 19 секунд (2.11.2009 - 20:41) haZe написал(а):
ну прибавляй, если счетчик больше 99, т.е. трехзначное чилосло, то сдвигаешь еще на сколько там надо пикселей, если больше 999, то четырех значное т .д.
Спустя 36 минут, 5 секунд (2.11.2009 - 21:17) sochinec написал(а):
Логически я понимаю как это сделать, а вот как это сделать используя php, какими функциями и т.д.
Спустя 36 минут, 50 секунд (2.11.2009 - 21:54) haZe написал(а):
PHP |
if($count > 99) $igrik = $igrik + 5; if($count > 999) $igrik = $igrik + 10; |
Спустя 45 минут, 9 секунд (2.11.2009 - 22:39) sergeiss написал(а):
Размер занимаемого текстом прямоугольника легко вычислить.
Только используй в паре функции (первая - написать текст, вторая - получить занимаемый размер):
imagepstext - imagepsbbox
или
imagettftext - imagettfbbox.
Параметры посмотри в хэлпе.
Получаешь размер области, занимаемый конкретной записью, и легко вычисляешь, где указать точку вывода этого текста. Чтобы он был весь на экране.
И даже более того. Если вдруг окажется, что надпись не влезает в картинку, то ты можешь ее как-то обработать, например, уменьшить шрифт.