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

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

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

李順亮 鐘碧良

(廣州航海高等??茖W校航海學院1) 廣州 510725)(廣州航海高等??茖W??蒲醒b備處2) 廣州 510725)

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

李順亮1)鐘碧良2)

(廣州航海高等??茖W校航海學院1)廣州 510725)(廣州航海高等??茖W??蒲醒b備處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热国产这里只有精品无卡顿"| 中文字幕永久视频| 国产小视频a在线观看| 国产精品免费入口视频| 精品亚洲欧美中文字幕在线看| 亚洲女同欧美在线| 国产va欧美va在线观看| 亚洲视频a| 日韩毛片在线播放| 国产日产欧美精品| 中国国语毛片免费观看视频| 91久久偷偷做嫩草影院电| 国产欧美日韩91| 韩国自拍偷自拍亚洲精品| 色综合网址| 国产精品高清国产三级囯产AV| 91精品aⅴ无码中文字字幕蜜桃| 成人在线第一页| 2018日日摸夜夜添狠狠躁| 国产簧片免费在线播放| 国产在线无码一区二区三区| 亚洲swag精品自拍一区| 日本道综合一本久久久88| 国产一区二区三区在线精品专区| 亚洲小视频网站| 精品久久久久无码| 国产在线小视频| 婷婷六月综合| 日本免费精品| 青青草91视频| 亚洲精品国产成人7777| 99re这里只有国产中文精品国产精品 | 亚洲精品国偷自产在线91正片 | 国产69精品久久久久孕妇大杂乱 | 亚洲成人免费在线| 亚洲高清中文字幕在线看不卡| 99热在线只有精品| 精品国产自在现线看久久| 日本不卡在线视频| 久久香蕉国产线看观看式| 日韩少妇激情一区二区| 国产精品嫩草影院av| 国产中文在线亚洲精品官网| 免费国产不卡午夜福在线观看| 永久成人无码激情视频免费| 男女精品视频| 狠狠干综合| 国产午夜不卡| 久久国产精品嫖妓| 国产成人毛片| 欧美一级视频免费| 久久青草精品一区二区三区| 国产aaaaa一级毛片| 欧美日韩精品一区二区视频| 色综合天天综合| 999福利激情视频| 永久免费无码成人网站| 亚洲天堂.com| 2021国产精品自产拍在线| 欧美成人二区| 日韩在线永久免费播放| 久久精品人人做人人爽| 亚洲毛片一级带毛片基地| 久热99这里只有精品视频6| 99无码熟妇丰满人妻啪啪 | 手机精品视频在线观看免费| 操美女免费网站| 久久网综合| av无码久久精品| 日韩黄色大片免费看| 成年网址网站在线观看| 人妻精品全国免费视频| 青青久久91| 97国产精品视频自在拍| 国内精自视频品线一二区| 四虎成人精品| 中文毛片无遮挡播放免费| 美女内射视频WWW网站午夜 |