PDA

Просмотр полной версии : Веля и красный столбик.


Велемир
12.04.2009, 21:51
Добрый вечер,ребятки.Такая вот проблема:

Есть скрыпт,расположенный по адресу

http://www.lumiro.net/ub/donate.php

Там вы все увидите небольшого размера красненький столбик.Как реализован механизм изменения высоты этого самого столбика взависимости от онлайна ? Все мои догадки уходят в небытие:(.Если можно,то с готовым примером.Спасибо:)

wildshaman
12.04.2009, 21:57
берется скрипт. Откуда-то берется значение онлайн (из базы). при просмотре скрипта\картинки генерится картинка с помощью GD где зависимости от онлайна делается разный размер столбика, опять же, средствами GD. Хедеры ставятс картиночные. готово.

OdaN
12.04.2009, 22:00
<?
$online=online(); //количество людей онлайн
$gif=imagecreate(15,$online);
$bg=imagecolorallocate($gif,255,0,0);
header("Content-Type: image/gif");
imagegif($gif);
?>

Получаем картинку столбика, нужной высоты потом накладываем на остальную картинку... собственно как-то так... (можно сделать не по пикселу на человека, а там проценты иль еще какнить) все зависит только от фантазии...

.:EnoT:.
12.04.2009, 22:31
А при чём там онлайн?

Короче пример с рассчётом процентов рисования линии, надеюсь разберёшься сам.



<?php
error_reporting(E_ALL);

$img = imageCreate(300,60); // Создаем изображение
imageColorAllocate($img, 250, 250, 200); // Накладываем цвет

$string_color = imageColorAllocate($img, 200, 0, 0); // Цвет текста
imageString($img, 5, 0, 3, '0', $string_color); // Рисуем 0
imageString($img, 5, 280, 3, '100%', $string_color); // Рисуем 100%

$percent = !empty($_GET['percent']) && is_numeric($_GET['percent']) ? intval($_GET['percent']) : 0; // Берём проценты из гета
$pix = (300 * $percent) / 100; // Высчитываем длину линии, в соответствии с заданными процентами и шириной изображения

$line_color = imageColorAllocate($img, 100, 100, 100); // Цвет линии
for ($i = 0; $i < 20; $i++) {
imageLine($img, 0, $i + 20, $pix, $i + 20, $line_color); // Рисуем линии
}

header("Content-type: image/png");
imagePng($img);
imageDestroy($img);
?>

Велемир
12.04.2009, 22:32
Пасиппи:)) На досуге попробую

OdaN
12.04.2009, 22:39
Может я конечно чего-то не понимаю, но объясните мне дураку, как считать онлайн в процентах? В каком случае онлайн будет "100%", и что случится если зайдет еще один человек? =)

.:EnoT:.
12.04.2009, 22:41
Может я конечно чего-то не понимаю, но объясните мне дураку, как считать онлайн в процентах? В каком случае онлайн будет "100%", и что случится если зайдет еще один человек? =)
Вот я о том же ) Тем более там вывод пожертвований в процентах, а не онлайна )

OdaN
12.04.2009, 22:44
//Внимательнее посмотрел на картинку, въехал =))) Торможу сегодня >.<

Кстати нидо будет гденить на форуме попробоват - взять за 100% максимальный онлайн, и от него рисовать картинку с нынешним =)

.:EnoT:.
12.04.2009, 22:49
Кстати нидо будет гденить на форуме попробоват - взять за 100% максимальный онлайн, и от него рисовать картинку с нынешним =)
Ну за 100% можно будет брать только кол-во зареганых пользователей форума, а гости - понятие безлимитное )

OdaN
12.04.2009, 22:52
тоже вариант, но имхо количество зареганных сильно отличается от максимального онлайна. и делать картинки с онлайном 5-10% как-то... незнаю, стыдно чтоль =)

Взять хоть античат - зрегано 62711, онлайн 911 (0,4%)

Велемир
12.04.2009, 22:54
Хыхых,прям дебаты :))

Pashkela
13.04.2009, 00:45
Кто-нибудь где-нибудь хоть на одном солидном сайте видел отображение пользователей онлайн в виде хоть какой диаграммы? Я нет. Главное - чтобы их просто было НЕМЕРЯНО. А графики тормозят работу сайта, тем более посещаемого.

Sharky
13.04.2009, 01:07
Кто-нибудь где-нибудь хоть на одном солидном сайте видел отображение пользователей онлайн в виде хоть какой диаграммы? Я нет. Главное - чтобы их просто было НЕМЕРЯНО. А графики тормозят работу сайта, тем более посещаемого.
ну извращенцев хватает..а чтоб не так тормозило можно кроном запускать хотя бы раз в 15 минут и сохранять диаграмму

OdaN
13.04.2009, 13:27
ну извращенцев хватает..а чтоб не так тормозило можно кроном запускать хотя бы раз в 15 минут и сохранять диаграмму

Во, кстати, вопрос, а как с помощью GD не просто родить картинку, а экспортировать в нормальный рисунок?