摘要;介紹了ASP.NET的特點和繪圖應用,給出了ASP.NET繪圖方法.以動態繪制用戶空間利用圖為例實現柱狀圖繪制,總結了基于ASP.NET繪圖技術的優點。
關鍵詞:代碼后王 公共運行時 動態繪圖 坐標轉換
中圖分類號:TP391.41 文獻標識碼:B 文章編號:1002-2422(2008)01-0039-02
1 ASP.NET介紹
ASP.NET具有以下幾方面的特點:
(1)多語言支持。ASP.NET支持多種編程語言,如VB、C#、J#等;
(2)兼容性。ASP.NET和ASP完全兼容,對于以前的ASP文件,仍可在IIS環境下運行。ASP.NET文件以新的擴展名出現,即.ASPX,可以清楚地區分新老文件;
(3)代碼后置技術,實現了頁面邏輯與商業邏輯的分離。

(4)公共運行時。ASP.NET通過它實現了跨語言的代碼重用,跨平臺的程序運行(Windows家族),自動資源管理和類型安全以及運行效率,代碼級的安全性。
2 AsP.NET繪圖原理與基本方法
2.1畫圖的基本原理
ASP.NET的繪圖功能主要通過Graphics類實現,提供畫線、矩形、多邊形、橢圓,填充矩形、橢圓、多邊形等功能。而且這些接口都經過了重載,以不同的參數實現對同名函數的調用。Graphics類的部分成員函數如表1所示。
2.2畫圖的基本方法
(1)添加Drawing類引用,添加Drawing子類Imasins引用(因為ASP.NET中對類的引用時并不引用它的全部派生類所以其子類需要單獨引用);
(2)創建位圖對象,設置位圖大小(參數是寬度和高度,相當于花布);
(3)創建Graphics對象(參數是指定輸出的位圖,相當于畫筆);
(4)從數據庫中讀取數據:
(5)調用Graphic類的成員函數繪圖;
(6)保存圖片并輸出圖片。
3 ASP.NET繪圖應用
以動態繪制用戶空間利用圖(柱狀圖)為例介紹繪圖的應用見圖1。
該圖的主要元素有:外矩形和填充矩形的高度、用戶和數據的文字說明、坐標軸(包含直線和實心三角)、整個圖形的位置。實現過程:

(1)整個圖形的長度和高度確定
圖形的高度是確定的(不隨用戶個數和用戶數據改變),所有矩形中的最大高度為maxh(圖中設定為250像素)代表所有用戶中分配的最大空間限額max_kjxe,而圖形的長度則根據用戶個數動態增長,需要從數據庫中讀取用戶個數,長度=20+N*Breadth+60,其中Breadth是個體矩形的寬度。
(2)每個用戶高度的確定
將數據提取到動態數組中,其中空間總額最大的用戶對應的矩形高度為maxh,其余矩形高度都是根據maxh的百分比,計算公式如下:
用戶的空間限額高度:kjxe_h[i](空心矩形框);
用戶的已用空間高度:yykj.h[i](內部填充的矩形框);
kjxe_h[i]=maxh*Kjxe[i]/max_kjxe;
yykj_h[i]=kjxe_h[i]*Dam[i]/Kjxe[i]。
(3)畫圖時用到的數據結構點集合:
Point(int x,int y):存儲邊緣點(直線、孤立點)和多邊形(包括三角形、矩形)的頂點
Point[]Xtriangle;x坐標軸的三角
Point[]Ytriangle;Y坐標軸的三角數組:
string[] DataNmne;存儲用戶名
int[] Data;存儲已用空間大小
int[]Kjxe;存儲空間限額大小
int[] kjxe_h;存儲矩形的邊界高度
int[] h;存儲矩形填充高度
(4)繪制柱狀圖
①創建內存Bitmap;
②創建Graphic對象;
③設置Graphic的格式;
④繪制柱圖邊界;
⑤調用畫矩形函數繪制空心矩形,繪制填充矩形;
⑥調用文字標注函數繪制柱狀圖下標即用戶名,上方數據即用戶空間限額,中間數據即用戶已用空間;
⑦輸出圖像,釋放對象。
4 結束語
ASP.NET提供了豐富的繪圖類庫,方便的實現各種圖形的繪制。通過圖形界面,提供給用戶直觀、形象的視圖。