讀 《Windows程式設計》(6)

來源:互聯網
上載者:User

“圖形裝置介面(GDI:Graphics Device Interface)是Windows的子系統,它負責在視訊顯示器和印表機上顯示圖形。正如您所認為的那樣,GDI是Windows非常重要的部分。不只您為Windows編寫的應用系統在顯示視覺資訊時使用GDI,就連Windows本身也使用GDI來顯示使用者介面對象,諸如菜單、捲軸、表徵圖和滑鼠游標。” 

“從程式寫作者的觀點來看,GDI由幾百個函數呼叫和一些相關的資料型態、宏和結構組成。”

“Windows 98和Microsoft Windows NT中的圖形主要由GDI32.DLL動態連結程式庫輸出的函數來處理。在Windows 98中,這個GDI32.DLL實際是利用16位GDI.EXE動態連結程式庫來執行許多函數。在Windows NT中,GDI.EXE只用於16位的程式。”

“因為PC相容機種上可以串連許多種不同的視訊裝置,所以,GDI的主要目的之一是支援與裝置無關的圖形。Windows程式應該能夠毫無困難地在Windows支援的任意一種圖形輸出裝置上執行,GDI通過將您的程式和不同輸出裝置的特性隔離開來的方法來達到這一目的。”

 “圖形輸出裝置分為兩大類:位映像裝置和向量裝置。大多數PC的輸出裝置是位映像裝置,這意味著它們以圖點構成的數組來表示映像,這類裝置包括視訊顯示卡、點陣印表機和雷射印表機。向量裝置使用線來繪製映像,通常局限於繪圖機。”

“許多傳統的電腦圖形程式設計方式都是完全以向量為主的,這意味著使用向量圖形系統的程式與硬體有著一定層次的隔離。輸出裝置用圖素表示圖形,但是程式與程式介面之間並不是用圖素進行溝通的。您當然可以使用Windows GDI作為一個高階的向量繪製系統,同時也可以將它用於比較低階的圖素操作。”

“Windows GDI和傳統的圖形介面語言之間的關係,就如同C和其它程式設計語言之間的關係一樣。C以它在不同作業系統和環境之間的高度可移植性而聞名,然而C也以允許程式寫作者進行低階系統呼叫而聞名,這些呼叫在其它進階語言中通常是不可能的。正如C有時被認為是一種「進階組合語言」一樣,您可以認為GDI是圖形裝置硬體之間的一種高階介面。”

“Windows內定使用圖素座標系統。大多數傳統的圖形語言使用「虛擬」座標系,其水平和垂直軸的範圍在0到32,767之間。雖然有些圖形語言不讓您使用圖素座標,但是Windows GDI允許您使用兩種座標系統之一(甚至依據實際度量衡的座標系)。可以使用虛擬座標系以便讓程式獨立於硬體之外,或者也可以使用裝置座標系而完全迎合硬裝置提供的環境。”

“某些程式寫作者認為一旦開始使用操作圖素的程式設計方式,就放棄了裝置無關性。我們在 上一章看到,這不完全是正確的,其中的訣竅是在與裝置無關的方式中使用圖素。這要求圖形介面語言為程式提供一些方法來確定裝置的硬體特徵,並進行適當的調節。”

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.