- C# code
protected void Page_Load(object sender, EventArgs e)
{
showline();
}
protected void showline()
{
//数据初始化
string[] month = new string[6] { "1", "2", "3", "4", "5", "6"};
float[] d = new float[6] { 1.2f, 1.0f, 1.3f, 1.1f, 1.0f, 1.1f };
//画图初始化
Bitmap bMap = new Bitmap(800, 500);
Graphics gph = Graphics.FromImage(bMap);
gph.Clear(Color.LightCyan);
//画边框
Pen p = new Pen(Color.Black, 2);
gph.DrawRectangle(p, 1, 1, 798, 498);
//中心点
PointF cPt = new PointF(140, 380);
//X轴三角形
PointF[] xPt = new PointF[3] { new PointF(700 + 15, cPt.Y), new PointF(700, cPt.Y - 4), new PointF(700, cPt.Y + 4) };
//Y轴三角形
PointF[] yPt = new PointF[3] { new PointF(cPt.X, cPt.X - 15), new PointF(cPt.X - 4, cPt.X), new PointF(cPt.X + 4, cPt.X) };
//图表标题
gph.DrawString("完美国际价格指数", new Font("宋体", 9), Brushes.Black, new PointF(cPt.X + 60, cPt.X));
//画X轴
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, 700, cPt.Y);
gph.DrawPolygon(Pens.Black, xPt);
gph.FillPolygon(new SolidBrush(Color.Black), xPt);
gph.DrawString("日期", new Font("宋体", 9), Brushes.Black, new PointF(720, 455));
//画Y轴
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, cPt.X, cPt.X);
gph.DrawPolygon(Pens.Black, yPt);
gph.FillPolygon(new SolidBrush(Color.Black), yPt);
gph.DrawString("单位(百万)", new Font("宋体", 9), Brushes.Black, new PointF(25, 30));
//画Y轴刻度
for (int i = 1; i <= 5; i++)
{
gph.DrawString((i * 0.6).ToString(), new Font("宋体", 9), Brushes.Black, new PointF(cPt.X - 30, cPt.Y - i * 50 - 6));
gph.DrawLine(Pens.Black, cPt.X - 3, cPt.Y - i * 50, cPt.X, cPt.Y - i * 50);
}
//画X轴刻度
for (int i = 1; i <= month.Length; i++)
{
gph.DrawString(month[i - 1], new Font("宋体", 9), Brushes.Black, new PointF(cPt.X + i * 50 - 5, cPt.Y + 10));
gph.DrawLine(Pens.Black, cPt.X + i * 50, cPt.Y, cPt.X + i * 50, cPt.Y - 3);
}
//画数据走势图
for (int i = 1; i <= 6; i++)
{
//画折线
if (i < 6)
{
gph.DrawLine(new Pen(Color.GreenYellow, 2), cPt.X + i * 50, cPt.Y - d[i - 1]* 50 / 0.6f , cPt.X + i * 50 + 50, cPt.Y - d[i]* 50/ 0.6f );
}
//画点
gph.DrawEllipse(Pens.Red, cPt.X + i * 50 - 2, cPt.Y - d[i - 1] * 50 / 0.6f - 2, 4, 4);
gph.FillEllipse(new SolidBrush(Color.White), cPt.X + i * 50 - 2, cPt.Y - d[i - 1] * 50 / 0.6f - 2, 4, 4);
if (i < 6)
{
if (d[i - 1] <= 0)
{
//画数值
gph.DrawString(d[i - 1].ToString(), new Font("宋体", 9), Brushes.Black, new PointF(cPt.X + i * 50 - 10, cPt.Y - d[i - 1] * 50 / 0.6f - 15));
}
else
{
if (d[i - 1] < d[i])
{
gph.DrawString(d[i - 1].ToString(), new Font("宋体", 9), Brushes.Black, new PointF(cPt.X + i * 50, cPt.Y - d[i - 1] * 50 / 0.6f + 15));
}
else
{
gph.DrawString(d[i - 1].ToString(), new Font("宋体", 9), Brushes.Black, new PointF(cPt.X + i * 50 + 5, cPt.Y - d[i - 1] * 50 / 0.6f - 15));
}
}
}
else
{
gph.DrawString(d[i - 1].ToString(), new Font("宋体", 9), Brushes.Black, new PointF(cPt.X + i * 50 + 5, cPt.Y - d[i - 1] * 50 / 0.6f + 15));
}
}
//保存输出图片
bMap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
}
怎么可以用个控件来放这个图片啊,这样输出来就是这个图片,其他东西都不能显示在网页上了,我想在页面上某个位置显示这个图片,还要显示其他东西呢,但这样的话,其它什么东西都不能显示出来啊
------解决方案--------------------------------------------------------
这样子提问是浪费时间,搜索。