Пока у меня есть фоновая работа, и у меня есть пузырь %
плавающий поверх бара. Все прошло гладко, используя функции PHP / GD.
Но я не могу понять, как добавить желтую часть. Я имею в виду, я мог бы легко наложить сплошной цвет. Но как я могу показать, что индикатор прогресса с вертикальными полосами, градиентами, закругленными границами и внутренними тенями?
Фактически, я нашел пример, используя php
, javascript
и html
здесь , вы также можете использовать реализацию jquery. И вот простой, который я сделал в html
и css
здесь .
На самом деле, есть способ.
PHP/GD
PHP-код
<?php // set the type of data (Content-Type) to PNG image header("Content-Type: image/png"); // extract GET global array extract($_GET); // set defaults if(! isset($max)) $max = 100; if(! isset($val)) $val = 100; // this method prepare blank true color image with given width and height $im = imagecreatetruecolor(400, 20); // set background color (light-blue) $c_bg = imagecolorallocate($im, 222, 236, 247); // set foreground color (dark-blue) $c_fg = imagecolorallocate($im, 27, 120, 179); // calculate the width of bar indicator $val_w = round(($val * 397) / $max); // create a rectangle for background and append to the image imagefilledrectangle($im, 0, 0, 400, 20, $c_bg); // create a rectangle for the indicator and appent to the image imagefilledrectangle($im, 2, 2, $val_w, 17, $c_fg); // render the image as a PNG imagepng($im); // finally destroy image resources imagedestroy($im); ?>
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>PHP GD-Progress Bar</title> </head> <body> <img src="progressbar.php?max=100&val=70" /> </body> </html>