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

應用ASP.NET技術制作船舶監控系統控件*

2011-01-15 08:28:14李順亮鐘碧良
艦船電子工程 2011年2期
關鍵詞:船舶方法

李順亮 鐘碧良

(廣州航海高等專科學校航海學院1) 廣州 510725)(廣州航海高等專科學校科研裝備處2) 廣州 510725)

應用ASP.NET技術制作船舶監控系統控件*

李順亮1)鐘碧良2)

(廣州航海高等專科學校航海學院1)廣州 510725)(廣州航海高等專科學校科研裝備處2)廣州 510725)

文章應用GDI+繪圖技術和ASP.NET Web編程原理,設計和制作了基于Web的船舶監控系統自定義控件,并在某船舶的綜合監控系統中成功應用。

GDI+;ASP.NET;Web自定義控件

Class NumberTP311.5

1 引言

當前,開發具備Web功能的船舶綜合監控是當今船舶自動化的發展方向之一,也是衡量船舶自動化水平高低的重要標志。要實現全船數據的綜合集成監控,綜合信息顯示界面的設計是首要的一步,儀表控件的制作則是關鍵的一環。儀表控件指的是在顯示器上以控件形式顯示的儀表,儀表控件在信息顯示上必須與實際儀表所表達的信息量完全相同,同時,在外觀上要有真實感,符合航海人員的視覺習慣。文章運用ASP.NET Web編程原理,應用GDI+繪圖技術,設計和制作了基于Web的船舶儀表控件,并且,在某船實際系統中成功應用。文章以具有代表性的船舶儀表控件為例子加以闡述,其余的儀表類似,根據其自身特點加以簡單修改即可。

2 ASP.NET簡述

ASP.NET是微軟公司的ASP和.NET這兩項技術的結合,ASP.NET改進了Web編程技術,它引入了為客戶端瀏覽器呈現HTML,并觸發可由服務器端腳本處理事件的可重用服務器控件。Web窗體的基本結構,即Web頁,是圍繞著控件和事件處理程序來建立的。Web窗體編程模型的一個基本原則是使可重用控件類能夠封裝復雜的呈現和行為邏輯,從而將基于組件的編程引入Internet中[1~2]。此外,ASP.NET允許開發者使用功能完善的.NET Framework所支持的多種編程語言,其中的服務器端腳本會被編譯為中間語言(CIL),并由公共語言運行庫執行,因此,執行速度比解釋性腳本語言快很多。

3 自定義Web圖形控件設計原理

盡管FCL的內置服務器控件種類豐富,但是它們不可能滿足所有開發人員的需求,在本系統中采用的控件就要適應船舶儀表特殊外表和功能需求的控件,因此必須開發自定義Web控件。

自定義Web控件需從System.Web.UI.Control類開始,在構建從Control派生的自定義控件時,要重寫其中的一些虛擬方法,并添加方法、屬性和事件,使自定義Web控件與眾不同[3]。Control類最重要的虛擬方法是 Render,每當控件被執行的時候,即當控件所在的頁面被請求時,Render都會被調用;Render通過它的參數列表接收一個HtmlTextWriter參數,該參數的Write方法將HTML寫到輸出流,它使控件有機會將HTML發送到客戶端,從而將自己呈現出來,并且可以呈現任何能用HTML表示的內容,比如圖形圖像。返回動態生成的圖像就使控件突破了HTML的限制,并且使各種情況成為可能,包括呈現曲線圖和餅狀圖、地圖、設置報表格式及任何能想象得出的事物。編寫圖形控件的關鍵在于,讓它的Render方法返回一個〈img〉標記。如果圖像是靜態的,那么該標記的Src屬性就指向該圖像文件;如果圖像是動態生成的,Src屬性就必須指向創建圖像的URL地址。如下面這個〈img〉標記指向一個 URL,該URL根據問號后的字符串來動態生成一個圖像:

<img src=”imagegen.ashx?shape=circle&color=red”>

Imagegen.ashx不是一個文件,而是 HT TP處理程序,對查詢字符串進行解析,并返回動態生成的圖像。

HT TP處理程序是一個類,它處理對服務器上的一個特定的終端(URL)或一組終端的HT TP請求。ASP.NET內置的 HTT P處理程序處理對ASPX文件、ASCX文件或其他ASP.NET文件類型的請求,此外,還可以對HT TP處理程序進行擴展,然后,在 Web.config配置文件中的條目將URL和H TTP處理程序進行映射。比如下面配置文件中的語句,將對本目錄(Web.config所在目錄)及其子目錄下的RudderImageGen.ashx文件的請求映射到ShipWebControls程序集中的一個名為RudderImageGen的類:

假設ImageGen是一個圖像生成器,它通過創建一個圖像并將它返回到HT TP響應中來進行響應。當一個對ImageGen.ashx的H TTP請求到達時,ASP.NET初始化ImageGen并將請求傳遞給它,并調用它的ProcessRequst方法。ProcessRequest接收一個HttpContext對象,該對象的Request屬性提供對查詢字符串的輸入參數的訪問。為了返回圖像,ProcessRequest將構成圖像的位保存到 HttpContext.Response.OutputStream代表的數據流中。

4 GDI+圖形編程技術

GDI+,Graphics Device Interface Plus(圖形設備接口+)的簡稱。文章在制作自定義Web控件的過程中,圖像生成函數內部動態生成位圖的方法是應用先進GDI+技術和純面向對象的C#語言來制作外觀逼真的圖形,簡單又靈活。GDI+與GDI不同之處在于GDI+不僅提供了很多新功能,如像素消除鋸齒技術、漸變畫筆、變形和矩陣對象、獨立的路徑對象、基數樣條、對多圖像格式的支持和Alpha混和等;更重要的是它改變了編程模型,使圖形編程更加簡易靈活。使用GDI+,不需要使用句柄或設備上下文,而只需創建一個Graphics對象,然后以熟悉的面向對象樣式調用其方

法[4~5]。

5 制作實例

5.1 舵角指示器制作

在制作過程中反復地應用到了GDI+的新功能,如Graphics對象的平移、旋轉變換、像素反鋸齒、漸變效果等。由于實際運行時表盤面是固定不動的,只有指針隨舵角屬性值的改變而旋轉到相應的刻度處。因此,畫指針位置的時候采用了旋轉變換,當舵角屬性值改變時,只須將Graphics對象旋轉相應的角度,無須改變指針的坐標位置,這樣的程序代碼就很清晰了。但要注意,這里的旋轉變換是建立在前面平移變換的基礎上的,旋轉變換的前后就不能使用常見的Graphics對象 ResetTransform()方法了,因為Reset()方法會破壞前面的平移變換,而應該使用Graphics對象的Save()和Restore()方法。畫指針主要代碼如下:

{

5.2 羅經復示器的制作

前面部分的設計思路與舵角指示器是一樣的。與上例相反的是,羅經復示器的指針是固定不動的,整個表盤包括刻度線和讀數是可旋轉活動的,即當船首向順指針(往右)旋轉一度,羅經復示器的表盤則逆時針(向左)旋轉一度,并且發出咯噠聲響;同時,表盤航向讀數的文字書寫方向也是兩兩相對的。因此,為了達到以上視覺效果和功能,當航向發生改變時,首先把Graphics對象旋轉變換一個負航向值,在此基礎上再循環旋轉360°,每隔2°畫刻度線,每隔 10°畫刻度讀數,這樣就形成了Graphics對象變換狀態的兩層嵌套保存,即代碼中的gs1和gs2。主要代碼如下:

圖1和圖2即為應用文章所述方法制作的控件樣式。

應用同樣的原理,可實現諸如流速計、主機轉速表、測深儀、羅經復示器、舵角指示器、計程儀、風向儀等自定義Web控件,都具有與實際的船舶儀表完全一致的外觀和功能。

6 結語

控件是構成Web窗體的基本單位。在自定義控件中封裝復雜的呈現和行為邏輯,非常適合于將自己制作的控件與其他程序開發人員共享,同時他們無需考慮具體的實現細節。因此制作的船舶儀表控件在船舶信息系統中具有很強的通用性,相關技術對其它自繪制控件的制作具有很好的借鑒作用。

[1]Richard Anderson.ASP.NET高級編程[M].王毅,楊浩,等譯.北京:清華大學出版社,2002

[2]Simon Robinson.C#高級編程[M].第3版.李敏波,等譯.北京:清華大學出版社,2005

[3]Jeff Prosise.Microsoft.NET程序設計技術內幕[M].王鐵等,譯.北京:清華大學出版社,2003:277~277

[4]Eric White.GDI+程序設計[M].楊浩,張哲峰,譯.北京:清華大學出版社,2002:3~5

[5]何海江.基于GDI+的顏色配置組件[J].計算機系統應用,2004(5):51

Development of Custom Web Ship Controls Applying the ASP.NET

Li Shunliang1)Zhong Biliang2)
(School of Maritime,Guangzhou M aritime College1),Guangzhou 510725)
(Department of Scientific Research Equipment,Guangzhou Maritime College2),Guangzhou 510725)

Applying the ASP.NET Web program theory and GDI+graphic programming technique,the paper designed and developed some custom web ship controls which successfully applied to the integrated control and monitoring system on a patrol ship.

GDI+,ASP.NET,custom Web control

TP311.5

2010年8月20日,

2010年9月30日

李順亮,男,碩士,講師,研究方向:交通信息工程及控制、航海技術等。鐘碧良,男,博士,教授,研究方向:計算機信息與控制等。

猜你喜歡
船舶方法
計算流體力學在船舶操縱運動仿真中的應用
基于改進譜分析法的船舶疲勞強度直接計算
船舶!請加速
BOG壓縮機在小型LNG船舶上的應用
學習方法
船舶壓載水管理系統
中國船檢(2017年3期)2017-05-18 11:33:09
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲视频一区在线| 伊人久热这里只有精品视频99| 99re在线免费视频| 不卡国产视频第一页| 在线观看无码av免费不卡网站 | 永久在线精品免费视频观看| 秋霞国产在线| 免费无码一区二区| 2021国产精品自产拍在线观看| 亚洲综合日韩精品| 国产高清精品在线91| 国产精品深爱在线| 色香蕉影院| 国产一在线观看| AV不卡无码免费一区二区三区| WWW丫丫国产成人精品| 中文字幕有乳无码| 无码精品国产dvd在线观看9久 | 亚洲精品动漫| 久久久噜噜噜久久中文字幕色伊伊| 91在线免费公开视频| 亚洲av片在线免费观看| 日韩精品久久久久久久电影蜜臀| 97在线碰| 视频一本大道香蕉久在线播放| 欧美亚洲激情| 亚洲三级视频在线观看| a级毛片免费播放| 欧美另类精品一区二区三区 | 国产精品白浆无码流出在线看| 久久九九热视频| 制服丝袜一区| 精品国产一区二区三区在线观看| 亚洲人人视频| 五月天婷婷网亚洲综合在线| 国产精品午夜福利麻豆| 亚洲熟女中文字幕男人总站| 国产日本欧美亚洲精品视| 中文字幕人成人乱码亚洲电影| 91精品网站| 日韩欧美国产精品| 国产第一页屁屁影院| av天堂最新版在线| 国产精品亚洲片在线va| 免费国产好深啊好涨好硬视频| 亚洲人成在线精品| 婷五月综合| 日本爱爱精品一区二区| 国产一区在线观看无码| 国产女人在线视频| 蜜臀AV在线播放| 国产欧美日韩一区二区视频在线| 国产精品区视频中文字幕| 日韩成人在线视频| 国产欧美精品午夜在线播放| 国产精品精品视频| 国产成人你懂的在线观看| 国产微拍一区| 这里只有精品在线| 日韩东京热无码人妻| 成人国产精品网站在线看| 欧美亚洲综合免费精品高清在线观看 | 色婷婷成人| 国产一级在线播放| 欧美在线一二区| 一级毛片免费观看不卡视频| 亚洲人成网站日本片| 午夜欧美理论2019理论| 大香伊人久久| 国产真实二区一区在线亚洲| 日韩国产综合精选| 精品撒尿视频一区二区三区| 亚洲永久免费网站| 亚洲成人高清无码| 无码有码中文字幕| 国产精品极品美女自在线网站| 亚洲精品无码AⅤ片青青在线观看| 蜜芽一区二区国产精品| 亚洲欧美综合精品久久成人网| 亚洲男人的天堂久久香蕉网| 久久99精品久久久久纯品| 香蕉国产精品视频|