Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Веля и красный столбик. (https://forum.antichat.xyz/showthread.php?t=115627)

Велемир 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

PHP код:

<? 
$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 код:


<?php
error_reporting
(E_ALL);

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

$string_color imageColorAllocate($img20000); // Цвет текста
imageString($img503'0'$string_color); // Рисуем 0
imageString($img52803'100%'$string_color); // Рисуем 100%

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

$line_color imageColorAllocate($img100100100); // Цвет линии
for ($i 0$i 20$i++) {
    
imageLine($img0$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

Цитата:

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

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

OdaN 12.04.2009 22:52

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

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


Время: 00:25