Вопрос о GD

  • Автор темы fashion guide
  • Дата начала

fashion guide

Guest
Вопрос о GD

Не уверен, что пишу в правильную ветку, но..

У меня сервер статистики посещений.. то есть, с помощью javascript'а, на стороне клиента идет запрос на мой сервер а там.. после подсчетов выдается результат в виде нарисованной картинки. Навроде hotlog'а...

В последние два-три дня мой сервак стал ощущать на себе перегрузки.. то есть, в секунду по 5-6 запросов.. в связи с чем, картинка не загружается.. то есть, html'ка выводит ее координаты.. с помощью тега IMG, а сам файл отстутствует. Я решил значительно разгрузить скрипт подсчета.. думаю, мож не справляется просто.. оптимизировал, перекраивал, крутил.. ситуация не изменилась.

После, решил вести логи на каждое исполнение.. и посмотреть, что там просиходит.. почему нет картинки..

так вот, основываясь на данных лога... все подсчеты идут считанные миллисекунды, все прекрасно и готово к использованию, НО, там где начинается рисование - лог прекращает свою работу.. то есть, на этом выполнение скрипта прекращается. Фактически.. перестает рисовать.

--- фрагмент лога
Получение результатов запроса - OK
Сравнение часов - OK
Начало рисования, данные uref: 101 - OK
----

на этом лог заканчивается..

должно быть так:
---
Получение результатов запроса - OK
Сравнение часов - OK
Начало рисования, данные uref: 101 - OK
Отправка заголовка - OK
Прорисовка координат - OK
Результат 12:57:43 - OK
---

Под отправкой заголовка у меня стоит:
header("Content-type: image/png");
$im =ImageCreateFromPNG("images/$imi.png");

Прорисовка координат:
$users = ImageColorAllocate ($im, 255, 255, 255);
$referes = ImageColorAllocate ($im, 204, 204, 255);

Результат:
ImageString($im, 1, $x1, $y1, "$allref", $referes);
ImageString($im, 2, $x2, $y2, "$ref", $users);
ImagePNG($im);
imagedestroy($im);

Как заставить его рисовать?

-~{}~ 25.06.04 13:29:

Еще один вопрос.. сразу.

Это переменные прорисовки цветов.

$users = ImageColorAllocate ($im, 255, 255, 255);
$referes = ImageColorAllocate ($im, 0, 51, 0);

Как мне сделать разные вариации цветов? например.. если картинка синяя - цветовая политра должна быть бело-голубая.. если красная, то бело-розовая...

я дела это так.

switch ($color)
{
case "blue":
$users = ImageColorAllocate ($im, 255, 255, 255);
$referes = ImageColorAllocate ($im, 204, 204, 255);
break;
case "red":
$users = ImageColorAllocate ($im, 255, 255, 255);
$referes = ImageColorAllocate ($im, 153, 204, 255);
break;
}

Как мне сделать это но более проще? У меня этих вариантов, помимо red и т.п. около 40... Я думаю, 40 case'ов это перебор..
 

Nirva

Dmitry Polyakov
1. было такое, попробуй на другом сервере. до этого ведь рисовало? если что не так(подразумевается, что на лругом сервере все работае) - обратись в суппорт.
2. математикой +\-
 
Сверху