Output();
if (scxmAr.IndexOf("count") > -1)
{
int[] num = new int[32];
string[] item = new string[32];
for (int i = 0; i < dsOut.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < dsOut.Tables[0].Columns.Count; j++)
{
string type = dsOut.Tables[0].Rows[i][j].GetType().ToString();
if (type == "System.Int32")
{
num[i] = Convert.ToInt32(dsOut.Tables[0].Rows[i][j]);
item[i] = dsOut.Tables[0].Rows[i][j - 1].ToString();
}
}
}
Bitmap bm = new Bitmap(600, 300);
Graphics g = Graphics.FromImage(bm);
g.Clear(Color.White);
g.DrawString(Con, new Font("宋体", 16), Brushes.Black, new Point(5, 5));
Point myRec = new Point(435, 30);
Point myDec = new Point(470, 30);
Point myTxt = new Point(565, 30);
g.DrawString("", new Font("宋体", 9), Brushes.Black, new Point(515, 12));
for (int i = 0; i < dsOut.Tables[0].Rows.Count; i++)
{
g.FillRectangle(new SolidBrush(GetColor(i)), myRec.X, myRec.Y, 20, 10);
g.DrawRectangle(Pens.Black, myRec.X, myRec.Y, 20, 10);
g.DrawString(item[i].ToString(), new Font("宋体", 9), Brushes.Black, myDec);
g.DrawString(num[i].ToString(), new Font("宋体", 9), Brushes.Red, myTxt);
myRec.Y += 15;
myDec.Y += 15;
myTxt.Y += 15;
}
int iTatal = 0;
float fCurrentAngle = 0;
float fStartAngle = 0;
for (int i = 0; i < num.Length; i++)
{
iTatal = iTatal + num[i];
}
if (ddlChart.SelectedIndex == 0)
{
//饼图
for (int i = 0; i < num.Length; i++)
{
if (i == num.Length - 1)
{
fCurrentAngle = 360 - fStartAngle;
}
else
{
int iTemp = num[i];
fCurrentAngle = (iTemp * 360) / iTatal;
}
g.FillPie(new SolidBrush(GetColor(i)), 100, 40, 250, 250, fStartAngle, fCurrentAngle);
fStartAngle += fCurrentAngle;
}
}
else
{
//柱状图
int iBarWidth = 40;
int scale = 10;
for (int i = 0; i < dsOut.Tables[0].Rows.Count; i++)
{
g.DrawRectangle(Pens.Black, (i * iBarWidth) + 15, 285 - (num[i] * scale), 20, (num[i] * scale) + 5);
g.FillRectangle(new SolidBrush(GetColor(i)), (i * iBarWidth) + 15, 285 - (num[i] * scale), 20, (num[i] * scale) + 5);
g.DrawString(item[i].ToString()+"/"+num[i].ToString(), new Font("宋体", 9), Brushes.Black, (i * iBarWidth) + 20, 265 - (num[i] * scale));
}
}
string path = Server.MapPath("~/UserDbUpload") + "//chart.jpg";
bm.Save(path, ImageFormat.Jpeg);
Response.Write("<script>window.open('showchart.htm');</script>");
}
else
{
Response.Write("<script>alert('你未进行计数计算,故不生成统计图')</script>");
}
统计输出图
最新推荐文章于 2022-03-14 13:05:59 发布