Кодирование графического индикатора выполнения в php (проблема с перекрытием)

введите описание изображения здесь

Пока у меня есть фоновая работа, и у меня есть пузырь % плавающий поверх бара. Все прошло гладко, используя функции PHP / GD.

Но я не могу понять, как добавить желтую часть. Я имею в виду, я мог бы легко наложить сплошной цвет. Но как я могу показать, что индикатор прогресса с вертикальными полосами, градиентами, закругленными границами и внутренними тенями?

Related of "Кодирование графического индикатора выполнения в php (проблема с перекрытием)"

Фактически, я нашел пример, используя 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>