プログレスバーみたいなの

プログレスバーみたいに何%です。みたいなGIF画像を動的に生成するaspxを作ってみた。aspxからHTML部分を全部削除して、Page_Loadにコードを書くだけ。

[C#]
private void Page_Load(object sender, System.EventArgs e)
{
// パーセント数値
int per = int.Parse(Request.Params["per"].ToString());
Bitmap bmp = new Bitmap(102, 10);
Graphics grp = Graphics.FromImage(bmp);
// 各色のブラシの作成
Brush whiteBrush = new SolidBrush(Color.White);
Brush greenBrush = new SolidBrush(Color.Green);
Brush yellowBrush = new SolidBrush(Color.Yellow);
Brush redBrush = new SolidBrush(Color.Red);
// 白で塗りつぶし
grp.FillRectangle(whiteBrush, 1, 1, 100, 8);
// 各色で塗りつぶし
if( per > 50 ) {
grp.FillRectangle(greenBrush, 1, 1, per, 8);
} else if ( per > 20 ) {
grp.FillRectangle(yellowBrush, 1, 1, per, 8);
} else {
grp.FillRectangle(redBrush, 1, 1, per, 8);
}
// 出力
Response.Clear();
bmp.Save(Response.OutputStream, ImageFormat.Gif);
Response.End();
}

<img src="test.aspx?per=85">
みたいな感じで使えます。

コメント

タイトルとURLをコピーしました