一、原理:
在ASP.NET页面中画出图表的关键步骤主要有两步:
其一:创建一个图片对象(Bitmap)。然后利用.Net FrameWork SDK所提供的方法在此图片对象上面画出自己想要的图形,譬如画线,画点等。
其二:就是为了更适合传输,把此图片对象,以"Jpeg"格式保存,并显示出来。
二、简单实现:
(1)创建一个动态图片:
利用"System.Drawing"中的"Bitmap"类来实现的。
//创建一个"Bitmap"对象
Bitmap bitmap = new Bitmap ( 400 , 400 ) ;
(2)显示图片:
//以"Jpeg"格式保存此图片对象,在客户端显示出来
bitmap . Save ( Response . OutputStream , ImageFormat . Jpeg );
三、特殊操作
首先根据"Bitmap"对象创建一个"Graphics"对象,然后根据此"Graphics"对象的方法来确定上色的图形类型(譬如显示的图片为椭圆、正方形等)。
(1) 给图片上色 (用Brush)
FillRectangle(System.Drawing.Brush brush, float x, float y, float width, float height)
Graphics g = Graphics . FromImage (bitmap) ;
g . FillRectangle ( new SolidBrush ( Color . LightGreen ) , 0 , 0 , 400 , 400 ) ;
(2) 写字 (用Brush)
DrawString(string s, System.Drawing.Font font, System.Drawing.Brush brush, float x, float y)
g.DrawString("我的图片", new Font("arial", 20,FontStyle.Bold), new SolidBrush(Color.FromArgb(255, 255, 255)),90,20);
(3) 画线 (用Pen)
Pen pen = new Pen(Color.FromArgb(0,255,0),1);
g.DrawPie(pen,0,0,200,200,0,90);
扇形
DrawPie(System.Drawing.Pen pen, float x, float y, float width, float height, float startAngle, float sweepAngle)
弧线
DrawArc(System.Drawing.Pen pen, float x, float y, float width, float height, float startAngle, float sweepAngle)
椭圆
DrawEllipse(System.Drawing.Pen pen, float x, float y, float width, float height)
直线
DrawLine(System.Drawing.Pen pen, float x1, float y1, float x2, float y2)
矩形
DrawRectangle(System.Drawing.Pen pen, float x, float y, float width, float height)
多边形
DrawPolygon(System.Drawing.Pen pen, System.Drawing.Point[ ] points)