[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Индикатор
Pritex3
Как написать индикатор, вот напримет есть текущее значение и максимальное, и графическая полоска, как мне совместить чтобы например если текущее меньше на 10% от максимального полоска уменьшилася в коефициенте? huh.gif



Спустя 8 минут, 14 секунд (2.03.2012 - 20:42) TranceIT написал(а):
Что вам конкретно непонятно? Как вычислять часть от числа?

Спустя 2 минуты, 12 секунд (2.03.2012 - 20:44) Pritex3 написал(а):
у меня есть пиблезительный скрипт, сейчас выложу, но не работает он sad.gif

Спустя 3 минуты, 18 секунд (2.03.2012 - 20:47) Pritex3 написал(а):
<?php

$max = $udata[43];
$now = $udata[42];
$health = 100 / ($max / $now);

$img="pik4erspic/minka/bb.gif";
$pic = ImageCreateFromgif($img);
header('Content-Type: image/gif');

$black = imagecolorallocate($pic, 0, 0, 0);
$white = imagecolorallocate($pic, 0, 0, 0);
imagefilledpolygon($pic, array(255,0, 0,20, $health,20, $health,0), 4, $black);

imagepolygon($pic, array(0,0, 0,11, 99,11, 99,0), 4, $white);
imagestring($pic, 1, 3, 2, 'bb: '.number_format($now).'/'.number_format($max).'', $white);


imagegif($pic);

?>


 ! 

М
Выделяйте код тегами [php][/php]
Winston

Спустя 18 секунд (2.03.2012 - 20:48) TranceIT написал(а):
Допустим есть индикатор шириной 300px. Максимальное значение 100%. Значение , которое нужно отразить - 30%. Как вычислить закрашиваемую ширину области?

Зачем вы в gd2 полезли? Вычисления делаются на PHP 1 строчкой, вывод на html+js строчки 3-4...

Спустя 1 час, 13 минут, 22 секунды (2.03.2012 - 22:01) Pritex3 написал(а):
код уже есть, немогу понять как? у мну мозг не позволяет дальше сдвинутся sad.gif

Спустя 3 минуты, 41 секунда (2.03.2012 - 22:05) TranceIT написал(а):
Pritex3
Когда надоест с ним возиться воспользуйтесь моим советом.

Спустя 2 часа, 3 минуты, 52 секунды (3.03.2012 - 00:08) Pritex3 написал(а):
расчеты ерунда, у меня как раз выводом проблемы sad.gif

Спустя 13 минут, 40 секунд (3.03.2012 - 00:22) SerginhoLD написал(а):
Pritex3
ну в imagepolygon вторым параметром идет массив точек, там где ты полигон белым цветом рисуешь, у тебя явно указана длина 99px,
а тот полигон который черным рисуется зависит от $health, который у тебя высчитывается,
таки и сравнивай обычным if-else, 99px меньше/больше чем $health, ну и рисуй с другим параметром второй полигон

Спустя 29 минут, 1 секунда (3.03.2012 - 00:51) Pritex3 написал(а):
Всё сотворил чудо, работает только проблемка, вот я это написал в отдельном пхп файле и вставил, а можно ли сразу в другой пхп код засунуть чтоб все работало? но у меня там уже стоит
header('Content-type: text/html; charset=UTF-8');
есть альтернатива какая-то?

Спустя 10 часов, 29 минут, 10 секунд (3.03.2012 - 11:20) Pritex3 написал(а):
Ребят вопрос, вот в полигоне закрашивается все норм, но мне не нравится, можно ли как-то наложить на закрашиваемую область определенно изображение и в итоге объеденить в одно и после написать текст на этом изображении? Вот мой текущий код:


<?php

$img="texture/am_in_bar.png";
$img2="texture/am_bar.png";
$max = 100;
$now = 95;
$width = 85;
$height = 10;
$font = 2;
$text = "$now/$max";
$percent = ($width*(100 / ($max / $now))) / 100;
$percent2 = 100 - $percent;
$font_width = ImageFontWidth($font);
$font_height = ImageFontHeight($font);
$text_width = $font_width * strlen($text);
$position_center = ceil(($width - $text_width) / 2);
$text_height = $font_height;
$position_middle = ceil(($height - $text_height) / 2);

$pic = ImageCreateFrompng($img);
$pic2 = ImageCreateFrompng($img2);

header('Content-Type: image/png');

$white = imagecolorallocate ($pic, 255, 255, 254);
$black = imagecolorallocate ($pic, 0, 0, 0);

imagefilledpolygon($pic, array(255,0, 0,20, $percent,20, $percent,0), 4, $black);

ImageString($pic, $font, $position_center, $position_middle, $text, $white);



$white=imagecolorclosest($pic, 255, 255, 255);

imagecolortransparent($pic, $white);


imagepng($pic);

?>
Быстрый ответ:

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