啊。看来以后相当长的一段时间我要和ASP.NET打交道了。要开发一个预测软件,网页版的,中间会遇到很多问题,不怕,我要一个个的克服!
第一个问题是图形的显示。
在windows forms 里绘图是相当方便的。
一般说来,就是,在form里贴一个picture box 控件(如pictureBox1).然后再代码区写上这样的代码:
Bitmap bMap = new Bitmap(920, 350); //建立位图文件
Graphics gph = Graphics.FromImage(bMap);//设置画布,与bMap相关联
gph.Clear(Color.White);
//……
//……
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, cPt.Y + 580, cPt.Y);
gph.DrawPolygon(Pens.Black, xPt);
gph.FillPolygon(new SolidBrush(Color.Black), xPt);
//……
this.pictureBox1.Image = bMap;
最后这简单一句this.pictureBox1.Image = bMap;就完成了显示。
而在ASP。NET中,因为没有pictuerbox这个控件,显示开始让人有点不适应。具体过程如下:
可以用asp.net 的image控件。然后新建一个页,如Draw.在原页的代码区的page_Load中加入一句:this.Image1.ImageUrl = "Draw.aspx?";然后打开Draw页的代码区,在using中加入绘图的命名,就可以像form一样绘图了。
using System.Drawing.Imaging; //提供画GDI+图形的高级功能
using System.Drawing; //提供画GDI+图形的基本功能
不过显示实现当然有所不同。
Response.ContentType = "image/gif"; //声明输出流对象为gif图像,这个可能可以不要。
bmp.Save(Response.OutputStream, ImageFormat.Gif); //将bmp输出到页面,这个是关键,配合this.Image1.ImageUrl = "Draw.aspx?";就显示了图像。
下个问题是页间的参数传递。