程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第四講 Windows圖形開發入門(2)

C#發現之旅第四講 Windows圖形開發入門(2)

編輯:關於C語言

應用

在目前的企業信息化和電子政 務中,WEB數據庫開發模式占據著主流,但圖形開發仍然具有很廣泛的應用,而且很多是比較 底層的,基礎性的軟件開發。比如WEB浏覽器,VS.Net開發環境,甚至Windows操作系統本身 都是圖形開發的產品,WEB軟件中的圖表,曲線圖等Html難於展現的用戶界面,一般也有賴於 圖形編程來實現。

展望

對於很多人來說,圖形開發是一個全新的開發領域, 需要使用新的軟件設計理驗和開發模式,但圖形開發也是一個豐富多彩的世界,有著非常多 的技術等待大家的探索。圖形開發雖然比較難,但仍然值得大家學習和使用。圖形開發難度 大,技術含量高,是一種優質的軟件開發能力。若大家想探索新的技術領域,並獲得與眾不 同的開發能力,那就可以從現在開始學習Windows圖形開發。

Windows圖形子系統基本 原理

Windows操作系統具有最明顯的特點是具有圖形化用戶界面,這種技術大大改善 了用戶體驗,使得大量的普通使用者能方便的學習和使用Windows操作系統,這是微軟取得巨 大成功的一個重要因素。

Windows操作系統針對圖形開發也提供了強大的編程接口, 使得開發者可以方便的在Windows上面開發具有專業效果的圖形化用戶界面軟件。在Windows 以前,開發者要實現圖形化用戶界面,則需要具備相當多的計算機硬件知識,計算機軟件業 界在圖形化用戶界面方面進展緩慢,而Windows則提供了一個很方便的圖形開發平台,使得大 量的圖形化用戶界面軟件迅速湧現,從而推動了計算機軟件業界整體快速發展。

Windows操作系統中包含了一個圖形子系統,專門用於管理各種圖形輸出設備,包括 顯示器,打印機,繪圖儀等。由於Windows系統啟用保護模式,應用程序沒有權限直接訪問計 算機硬件,因此都必須調用Windows的圖形子系統來操作圖形設備。下圖就是Windows環境下 圖形軟件的基本原理。

Windows提供 了一個GDI32.DLL,稍微了解圖形開發的都知道這個DLL,它包含了大部分的Windows的圖形子 系統的API函數。各種開發語言,包括VB,VC,C#,Delphi等等都能調用這些API函數來進行圖形 開發。

Windows通過這些API獲得應用系統的圖形操作請求後,內部進行一番處理,然 後根據目標圖形硬件調用相應的設備驅動程序。

若應用系統請求在顯示器上顯示圖形 ,則Windows會首先設置計算機顯存,然後忙其他事,而顯卡中有一個獨立的處理器能自主訪 問顯存,根據其中的數據來設置顯示器中顯示的內容。顯卡是固定每過一段時間訪問顯存, 刷新顯示器,因此它有一個頻率的參數。比如它的頻率是50HZ,則它是每20毫秒訪問顯存, 刷新顯示器。顯卡自己有處理器來進行這樣的操作,這種操作算是硬件操作,其過程不受操 作系統的感知和控制。理解這個原理,對理解和消除用戶界面閃爍有著很大的幫助。

若應用系統請求進行打印輸出,則Windows首先將打印樣式輸出到打印任務隊列中,然後調用 打印機驅動程序進行文檔的打印,由於具有打印任務隊列,因此多個軟件可同時進行打印輸 出,而不必等待打印機硬件空閒。在Windows2000或更高版本的Windows操作系統中,有一個 名為”Print Spooler”的服務,該服務就是用於管理打印任務隊列的,若該服務 停止,則系統即使連接了打印機也不能進行打印輸出。

圖形設備上下文

在了 解了Windows圖形子系統的基本原理後,我們可以開始了解Windows圖形開發了,在Windows圖 形開發中有一個很重要的概念就是-圖形設備上下文。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved