999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用.NET實現自動氣象站資料的圖表顯示

2008-12-31 00:00:00秦榮茂
電腦知識與技術 2008年19期

摘要:自動氣象站資料在氣象業務工作中具有重要的價值。文章對ASP.NET與GDI+的某些方法進行了研究,利用ASP.NET實現在網頁中以圖表方式顯示自動站數據庫資料。

關鍵詞:自動氣象站;.NET;GDI+

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)19-30080-02

Displaying the Data of Automatic Station Database Using the Method of .NET

QIN Rong-mao, YANG Hua

(Changji Meteorological Bureau,Changji 831100,China)

Abstract: The data of automatic weather station is very important in weather professional work. the article researched some method of ASP.NET and GDI+,and finished displaying the data of automatic station database.

Key words: automatic weather station; .NET; GDI+

1 引言

自動站在我州開始運行以來,為預報服務提供了很多的數據資料。同時,通過開發部分應用軟件,也已經建立了本地資料數據庫。系統運轉后,其收集的數據為科研人員的科研工作發揮了重要作用。但是也有不足之處,就是如何將數據庫中的資料以圖表的形式簡潔、直觀地顯示給最終的普通用戶,使他們也能夠通過簡單的操作就可以得到滿意的結論。結合本部門系統內部網絡構成,目前最好的方法就是利用互聯網,采取網頁的形式來實現資源共享。文章著重描述了在.NET環境下來實現網頁圖表顯示的功能。

2 問題提出

目前,我州自動站實時數據能夠自動進入到本地數據庫服務器。只是尚未給用戶提供一種合適的使用環境來充分地應用這些資料。而應用服務器上提供有WEB服務,是否可以通過在WEB頁面上以圖表的形式顯示這些資料數據呢?經過多次實驗,證明是切實可行的。

3 實現原理

WEB頁面的生成采用ASP.NET技術實現。ASP.NET是一種編譯語言,當客戶端第一次調用ASP.NET頁面的時候,其實是經過了一種比較復雜的編譯過程,編譯生產MSIL文件,存儲到本地機,MSIL文件其實是一個中間語言的文件,然后此文件又通過JIT(Just in Time)編譯器進行再編譯,生成機器語言,這樣你所調用的ASP.NET頁面才展現出來,對于不同的機器,有著不同的JIT,也就被編譯成不同機器語言,這就是微軟公司大力鼓吹ASP.NET的所謂跨平臺的原理。

當ASP.NET頁面被編譯成MSIL文件的時候,編譯所使用的類庫必須是受管代碼文件(Managed Code),而ActiveX控件是已經被編譯成機器語言的文件,他屬于非受管代碼文件(Unmanaged Code)。所以直接在ASP.NET調用MSChart組件是不可能的。雖然你可以利用.Net框架提供的工具把此MSChart組件轉換成受管代碼文件,但這個過程相對比較復雜,并且利用這種方法產生的圖表速度相當慢,還有就是由MSChart組件自身所限制,對于復雜的圖表,是無法利用他來生成的。

其實我們在各種.NET開發的網站中看到的圖表并不是一個圖表,而是一個圖片。在服務器端產生圖片,然后在圖片上面畫出想要顯示給用戶的各種信息,然后通過瀏覽器發送圖片到客戶端,從而形成圖表。那么,圖表的生成使用GDI+來實現,GDI+是從GDI演化而來的,但是在Visual Studio的以前版本中使用GDI是相當復雜的,而且工作量巨大?,F在在GDI+中,微軟已經幫我們解決了許多問題,因而使用GDI+編程將變得非常容易。

GDI+包含在System.Drawing.Dll集合中,所有的GDI+類包含在System.Drawing,System.Text,System.Printing,System.Internal,System.Imaging,System.Drawing2D以及System.Design等命名空間中。

上述技術方法就是本文要利用的方法。通過這些方法,就可以實現各種氣象要素的圖表顯示。尤其針對氣象資料中的溫度、降水等的顯示,下面就來介紹具體的實現方法。

4 實現方法

4.1 在.NET中提取數據庫資料

在.NET Framework中,數據提供商作為應用程序和數據源之間的橋梁,提供了簡單的數據庫連接接口。一個.NET Framework數據提供商能從數據源返回查詢結果,執行數據源上的命令。本網站中就利用.NET Framework中的SQL Server .NET Data Provider進行數據庫的訪問。

4.2 利用GDI+繪制圖表

為了使用GDI+在.NET頁面中畫出圖表,關鍵步驟主要有兩步:其一,創建一個圖片對象(Bitmap)。然后利用.Net FrameWork SDK所提供的方法在此圖片對象上面畫出自己想要的圖形,譬如畫線,畫點等;其二,就是為了更適合傳輸,把此圖片對象,以“Jpeg”格式保存,并顯示出來。下面我們就來看看這二步的具體實現方法。

1)首先在ASP.NET頁面創建一個動態圖片,并顯示出來。創建一個圖片對象其實非常容易的,利用命名空間“System.drawing”中的“Bitmap”類來實現的,下列語句可以創建一個位圖對象:

Bitmap image = new Bitmap (400,400); //創建一個“Bitmap”對象

修改“Bitmap”對象的二個參數來改變創建的位圖對象的長和寬。通過Bitmap類的Save方法就可以顯示已經創建的位圖對象。由于位圖文件要占用很多的空間,為了便于網絡傳輸,一般轉換成“Jpeg”或者“Gif”文件來保持。下面語句是把已經創建的位圖對象,轉換成“Jpeg”文件顯示:image.Save(Response.OutputStream,ImageFormat.Jpeg); //以“Jpeg”格式保存此圖片對象,在客戶端顯示出來。

2)如何給產生得圖片上色。

其實給產生得圖片上色是比較容易的,首先根據“Bitmap”對象創建一個“Graphic”對象,然后根據此“Graphic”對象的方法來確定上色的圖形類型(譬如顯示的圖片為橢圓、正方形等)。

Bitmap image = new Bitmap (400,400);

Graphics g = Graphics.FromImage(image);

g.FillRectangle (new SolidBrush(Color.LightGreen),0,0,400,400)。

3)如何在圖片上實現畫線和寫字。

在圖片上寫字是通過產生的“Graphic”對象的DrawString()方法來實現的,在調用此方法前,必須設置字體和刷子,具體調用方法是:

//寫字

g. DrawString (\"在圖片上面寫入文字\", axesFont, blackBrush, 90, 20);

//畫線

g. DrawLine (blackPen, 0, 2, 210, 250);

知道了這些基本知識,就可以利用數據庫中的氣象要素在WEB頁面上繪制出我們需要的圖表了。

5 結束語

本文在ASP.NET頁面中利用.Net FrameWork SDK GDI+中提供的各種用以操作圖形的方法,實現了氣象要素在WEB頁面中的顯示,這樣的過程雖然有點煩雜,但對實現復雜的圖表是非常有用的。

參考文獻:

[1] 王立豐. Visual C#.NET項目開發實用案例[M].科學技術出版社,2006.

[2] Mahesh Chand. GDI+圖形程序設計[M].韓江,譯.電子工業出版社,2005:144-150.

[3] 周鳴揚,曾潔玫. GDI+程序設計實例[M].中國水利水電出版社,2004:25-30.

主站蜘蛛池模板: 国产一级毛片网站| 日韩国产一区二区三区无码| 亚洲an第二区国产精品| 中文字幕乱码中文乱码51精品| 国产亚洲欧美另类一区二区| 九九视频免费看| 夜夜高潮夜夜爽国产伦精品| 22sihu国产精品视频影视资讯| 欧美日韩亚洲国产主播第一区| 国产屁屁影院| 亚洲精品无码高潮喷水A| 亚洲欧美日本国产综合在线| 久久这里只有精品免费| 黄色网页在线播放| 福利一区在线| 三级视频中文字幕| 在线精品欧美日韩| 亚洲中文无码av永久伊人| 最近最新中文字幕在线第一页| 国产va欧美va在线观看| 波多野结衣无码AV在线| 日韩在线视频网站| 伊人蕉久影院| 国产欧美日韩精品综合在线| 欧美成人日韩| a亚洲天堂| 欧美无专区| 中国国产一级毛片| 亚洲精品无码在线播放网站| a天堂视频| 欧美一级大片在线观看| 欧美伊人色综合久久天天| 区国产精品搜索视频| 丰满少妇αⅴ无码区| 无码在线激情片| 国产在线八区| 热re99久久精品国99热| a级毛片在线免费| 色婷婷视频在线| 国产精品永久在线| 九九久久精品国产av片囯产区| 久草网视频在线| 国产精品999在线| 亚欧成人无码AV在线播放| A级全黄试看30分钟小视频| 亚洲视频一区在线| 欧美国产日韩在线| 中文字幕亚洲电影| 国内精品手机在线观看视频| 日韩精品无码免费一区二区三区 | 日本亚洲欧美在线| 久久精品aⅴ无码中文字幕 | 欧美日韩国产在线人成app| 亚洲国产成熟视频在线多多 | 狠狠色丁香婷婷综合| 三上悠亚在线精品二区| 国产视频欧美| 国产性生交xxxxx免费| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产成人精品一区二区不卡| 无码精油按摩潮喷在线播放| 亚洲成aⅴ人在线观看| 国产一二三区视频| 国产小视频网站| 精品国产www| 国产乱子伦手机在线| 欧美亚洲一区二区三区在线| 青青草国产精品久久久久| 婷婷色丁香综合激情| 亚洲日韩国产精品综合在线观看| 免费看a级毛片| 国产亚洲欧美在线专区| 国产精品入口麻豆| 亚洲一欧洲中文字幕在线| 国产成人一区在线播放| 伊人成人在线| 中文无码影院| 国产成人精品免费av| 亚洲视屏在线观看| 亚洲av成人无码网站在线观看| 国产精品亚洲综合久久小说| 在线国产三级|