使用Drawing 類繪圖

pamxy發表於2013-11-12

轉自:http://wenku.baidu.com/link?url=a5im8VeEwlnKUaVQf57ZRHiIbAIhS77ycCh4yIx1_GDtL0qmz3_m7U1jvzi-ETyJj1joQzqQ-PBUpazF9w1SIoOOoGkY0W6sqPNDD5ORaJ3

一、原理:

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)


相關文章