[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с изображением
sochinec
Здравсвтуйте.

Проблема такая:

Рисую на картинке текст, цифры, короче говоря счетчик посещений.
Все цифры рисуются в правом верхнем углу картинки 88 x 31 пикселей.
Так вот проблема в том что если указать более 2 символов то эти символы уходят за границу видимости.

PHP
$image=ImageCreateFromPNG("./images/".$image);
header("Content-type: image/png".chr(10).chr(10));
$color=ImageColorAllocate($image000);
$count "1";
$igrik "80";
ImageString($image,1,$igrik,2$count ,$color);
ImagePNG($image);


Переменной $igrik задается положение по y.
Переменной $count кол-во посетителей за день wink.gif
Как мне динамически уменьшать переменную $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.

Параметры посмотри в хэлпе.

Получаешь размер области, занимаемый конкретной записью, и легко вычисляешь, где указать точку вывода этого текста. Чтобы он был весь на экране.
И даже более того. Если вдруг окажется, что надпись не влезает в картинку, то ты можешь ее как-то обработать, например, уменьшить шрифт.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.