GDI

系統與繪圖程序之間的信息交換

GDI是圖形設備介面的英文縮寫,主要任務是負責系統與繪圖程序之間的信息交換,處理所有Windows程序的圖形和圖像輸出。GDI的出現使程序員無需要關心硬體設備及設備正常驅動,就可以將應用程序的輸出轉化為硬體設備上的輸出和構成,實現了程序開發者與硬體設備的隔離,大大方便了開發工作。

基本介紹


GDI是Graphics Device Interface的縮寫,含義是圖形設備介面,它的主要任務是負責系統與繪圖程序之間的信息交換,處理所有Windows程序的圖形輸出。
在Windows操作系統下,絕大多數具備圖形界面的應用程序都離不開GDI,我們利用GDI所提供的眾多函數就可以方便的在屏幕、印表機及其它輸出設備上輸出圖形,文本等操作。

特點


GDI具有如下特點:
1. 不允許程序直接訪問物理顯示硬體,通過稱為“設備環境”的抽象介面間接訪問顯示硬體;
2. 程序需要與顯示硬體(顯示器、印表機等) 進行通訊時,必須首先獲得與特定窗口相關聯的設備環境;
3. 用戶無需關心具體的物理設備類型;
4. Windows參考設備環境的數據結構完成數據的輸出。
GDI函數大致可分類為:
設備上下文函數(如GetDC、CreateDC、DeleteDC)、畫線函數(如LineTo、Polyline、Arc)、填充畫圖函數(如Ellipse、FillRect、Pie)、畫圖屬性函數(如SetBkColor、SetBkMode、SetTextColor)、文本、字體函數(如TextOut、GetFontData)、點陣圖函數(如SetPixel、BitBlt、StretchBlt)、坐標函數(如DPtoLP、LPtoDP、ScreenToClient、ClientToScreen)、映射函數(如SetMapMode、SetWindowExtEx、SetViewportExtEx)、元文件函數(如PlayMetaFile、SetWinMetaFileBits)、區域函數(如FillRgn、FrameRgn、InvertRgn)、路徑函數(如BeginPath、EndPath、StrokeAndFillPath)、裁剪函數(如SelectClipRgn、SelectClipPath)等。