CGI(計算機圖形接口標準)

CGI計算機圖形接口標準是ISO TC97組提出的圖形設備標準,標準號是ISO DP9636。

基本介紹

  • 中文名:計算機圖形接口標準
  • 外文名:Computer Graphics Interface
  • 英文縮寫:CGI
  • 屬性圖形設備接口
CGI控制功能集,CGI輸出功能集,CGI圖段功能集,輸入和應答功能集,光珊功能集,
CGI是第一個針對圖形設備接口,而不是應用程式接口的互動式計算機圖形標準。CGI的目標是使應用程式和圖形庫直接與各種不同的圖形設備相作用,使其在各種圖形設備上不經修改就可以運行,即在用戶程式和虛擬設備之間以一種獨立於設備的方式提供圖形信息的描述和通信。CGI規定了傳送圖形數據到設備的輸出和控制功能,從圖形設備接收圖形數據的輸入、查詢和控制功能,因CGI是設備級接口,對出錯處理和調試的只提供了最小支持。CGI提供的功能集包括控制功能集、獨立於設備的圖形對象輸出功能集、圖段功能集、輸入和應答功能集以及產生、修改、檢索和顯示以象素數據形式存儲的功能集。在二維圖形設備中可以找到CGI支持的功能,但沒有一個圖形設備包含由CGI定義的所有功能,從這個意義上說,CGI定義了與虛擬設備的接口。CGI是設備級的計算機圖形標準,它規定了一個CGI實現和CGI用戶之間的接口。一個CGI的實現叫做對象,對象既可以是硬體設備也可以是一個程式。CGI的用戶就是用CGI對象實現的與設備無關的應用程式。CGI提供了一些功能來實現一個CGI對象和一個CGI應用程式之間數據交換。對象和應用程式之間的接口由CGI引用模式來描述,基於CGI對象和CGI應用程式的配置情況,引用模式提供了一個概念上的框架說明CGI在一個計算機圖形環境中如何使用。CGI有三種引用模式:套用、對象和CGI產生器與解釋器配置。為了使應用程式創建、保存、修改和顯示圖形,CGI提供了管道機制。CGI的管道分為三種:
⑴圖形對象管道,說明應用程式如何使用CGI提供的功能來創建圖形;
⑵光柵管道,說明圖形對象管道及其相關的圖形輸出功能與光珊虛擬設備及光柵操作功能之間的聯繫;
⑶輸入管道,說明CGI虛擬設備如何支持互動式輸入。

CGI控制功能集

控制功能集包括CGI所涉及的虛擬設備和出錯處理功能,用以實現圖形圖像信息以及接口的圖形與非圖形部分的內部關係的管理,這些功能分為七類:
⑴虛擬設備管理,提供了對虛擬設備的控制,包括啟動和終止用戶與CGI虛擬設備的對話期、管理虛擬設備上的畫面等;
⑵數值精度要求;
⑷視點,如何使定義在虛擬設備坐標空間中的圖形圖像顯示在繪畫面;
⑸裁剪;
⑹其它;
⑺出錯處理。

CGI輸出功能集

CGI輸出功能集創建包含用戶的畫面的圖形對象及控制它們的顯示,確定圖形對象的幾何和顯示特性。用戶可以藉助輸出功能,使用標準繪圖圖元或廣義繪圖圖元來生成標準圖形對象或非標準圖形對象。
CGI輸出功能集包括以下四類功能:
⑴圖元功能,創建包含用戶畫面的圖形對象;
⑵屬性功能,定義圖形對象的屬性;
⑶屬性控制功能,允許用戶控制圖形對象的;
⑷輸出查詢功能,返回輸出以及屬性描述表和狀態表的有關信息。

CGI圖段功能集

CGI圖段功能集定義了圖形對象組合到圖段中的方法,用唯一的圖段標識符標識圖形對象,產生、修改和操縱圖段的功能。
⑴圖段操作,包括對圖段的產生、關閉、刪除和操縱圖段的功能;
⑵圖段屬性,設定和修改圖段屬性;
⑶圖段查詢,用以獲取與圖段描述表和狀態表有關的信息。

輸入和應答功能集

在CGI中,按返回數據的類型將邏輯輸入設備分為八類,即:定位、筆劃、取值、選擇、拾取、字元串、光珊和其它輸入設備。光珊類的輸入設備用來輸入象素陣列,相應的物理設備是掃瞄器、攝像機等。其它輸入設備的邏輯輸入設備用來輸入指定格式的數據記錄,這種物理設備的例子如聲音輸入設備等。每類邏輯設備有四種輸入方式:請求、採樣、事件和應答。在應答方式下,允許將該邏輯輸入設備的當前值應答在相應的CGI虛擬設備上。

光珊功能集

大多數計算機圖形設備或是向量設備或是光珊設備,二者都可以繪製直線、圓等圖形對象。然而,向量設備和光珊設備所繪製的圖形對象是不同的。向量設備上顯示的圖形對象是光滑連續的,不一定與設備坐標相交,獨立於圖形設備的解析度。光珊設備以點的陣列來顯示圖形,表示圖形的點總是位於設備坐標上。因此,光珊設備所顯示的圖形沒有向量設備所顯示的圖形光滑且顯示的效果隨設備解析度的不同而不同。在CGI輸出設備描述表中顯示類型一項指定了圖形設備的類型,其值可以是VECTOR(向量)、RASTER(光珊)或OTHER(其它)。光珊設備支持一些向量設備所不支持的功能,這些功能稱為光珊操作功能集。CGI是支持光珊操作的第一個計算機圖形標準。為了支持光珊虛擬設備,除了圖形對象管道外,還需要光珊管道。一個光珊虛擬設備上的畫面由許多象素組成,象素所占據的記憶體區域叫做點陣圖。畫面由以象素陣列方式繪製的圖形對象來生成,這些象素寫入點陣圖,通過從點陣圖中讀象素並顯示在光珊虛擬設備的繪畫面上來顯示圖形圖像。當圖形對象以象素陣列方式顯示後,作為一個圖形對象的標識符就丟失了。例如,當一個圓被以象素方式顯示以後,一個圓被顯示這個事實就丟失了,只剩下一些毫無聯繫的象素而已。接下來被顯示的圖形圖像的修改只能用光珊操作功能通過拷貝、合併象素實現。CGI提供的光珊操作功能包括產生、檢索、修改和顯示象素數據的功能:⑴光珊控制,在CGI在點陣圖分為可顯示點陣圖和不可顯示點陣圖,不可顯示點陣圖又分為全深度點陣圖和映象點陣圖。全深度點陣圖是和顯示器上每個象素用多少位來表示相匹配的;而映象點陣圖的每個象素只有一位。點陣圖操作可以把虛擬設備空間(VDC)中特定區域內的圖像映射到當前的設備空間(DC)中來。在VDC到DC的一系列變換中並不會改變已有點陣圖中象素的數量,只會影響點陣圖在VDC中表示的區域。⑵光珊操作,包括象素陣列數據的檢索和顯示,各種形式的點陣圖運算以及點陣圖區域的移動、合併和複製等。⑶光珊屬性,用來設定源和目的點陣圖之間進行象素操作的繪圖方式和填充點陣圖區域功能。CGI中定義的點陣圖繪製方式有:布爾運算型(與、或和非)、加運算型和比較運算型。此外,CGI還提供了對光珊描述表、光珊狀態表和點陣圖狀態表的查詢功能。

相關詞條

熱門詞條

聯絡我們