шкала от 1 до 100% графика

  1. <?php
  2. function koescale($percent) {
  3. // тут процент получаем и фильтруем
  4. if ($percent && $percent > 0 && $percent<101) {
  5. $percent = intval($percent);
  6. } else {
  7. die('ПНХ');
  8. }
  9. // тут первый квадратик
  10. $img_one = imagecreatetruecolor(100, 20);
  11. $color_one = imagecolorallocate($img_one, 0, 0, 0);
  12. imagefilledrectangle ($img_one, 0, 0, 100, 20, $color_one);
  13. // тут второй квадратик
  14. $img_two = imagecreatetruecolor($percent, 20);
  15. $color_two = imagecolorallocate($img_two, 255, 255, 255);
  16. imagefilledrectangle ($img_two, 0, 0, $percent, 20, $color_two);
  17. // второй квадратик зависит от процента из GET
  18. // накладываем квадратики с прозрачностью
  19. imagecopymerge($img_one, $img_two, 0, 0, 0, 0, 100, 20, 25);
  20. // создаем прозрачный квадратик и пишем на нем цифру
  21. $print_percent = imagecreatetruecolor(100, 20);
  22. $white = imagecolorallocate($print_percent, 0, 0, 0);
  23. $red = imagecolorallocate($print_percent, 255, 0, 0);
  24. imagecolortransparent($print_percent, $white);
  25. imagestring($print_percent, 12, 40, 2, $percent . '%', $red);
  26. // накладываемцифру на квадратики
  27. imagecopymerge($img_one, $print_percent, 0, 0, 0, 0, 100, 20, 100);
  28. // рисуем результат
  29. imagegif($img_one, 'tmp.gif');
  30. $fil = file_get_contents('tmp.gif');
  31. unlink('tmp.gif');
  32. imagedestroy($img_one);
  33. imagedestroy($img_two);
  34. imagedestroy($print_percent);
  35. return '<img width="100" height="20" src="data:image/gif;base64,' . chunk_split(base64_encode($fil)) . '" alt="koescale" />';
  36. }
  37. ?>
картинка 100 на 20 , пример работы
  1. <?php
  2. echo 'сила';
  3. echo '<br/>';
  4. echo koescale(56) ;
  5. echo '<br/>';
  6. echo 'ловкость';
  7. echo '<br/>';
  8. echo koescale(76) ;
  9. echo '<br/>';
  10. echo 'дух';
  11. echo '<br/>';
  12. echo koescale(46) ;
  13. echo '<br/>';
  14. echo 'разум';
  15. echo '<br/>';
  16. echo koescale(26) ;
  17. echo '<br/>';
  18. ?>

Реклама

Мы в соцсетях

tw tg yt gt