2012-03-09 97 views
2

石英2D不透明數據類型石英2D不透明數據類型

石英2D API定義除了 到圖形上下文多種不透明的數據類型。因爲API是Core Graphics 框架的一部分,所以在上運行的數據類型和例程使用了CG前綴 。

Quartz 2D根據您的應用程序 運行的不透明數據類型創建對象以實現特定的圖形輸出。圖1-3顯示了當您將繪圖操作 應用於由Quartz 2D提供的三個對象時可以實現的各種結果。例如:

您可以旋轉,並通過創建一個PDF頁面對象, 應用旋轉操作的圖形上下文,並要求 石英2D頁面繪製到圖形上下文顯示PDF頁面。

您可以通過創建一個模式對象,定義,構成了 圖案的形狀,並設置石英2D時 它繪製的圖形上下文使用模式油漆繪製 模式。

可以通過創建一個遮蔽物體,提供了一個功能 確定在上述遮光的每個點的顏色,然後詢問 石英2D使用陰影作爲填充填充具有軸向或 徑向陰影的區域顏色。

我無法理解的apple reference guide

,具體的事情,我有大膽的,像什麼「他們」被吹罰這部分?

並請澄清一般的不透明數據類型,而不是c或C++術語。

在此先感謝, 此致敬禮。

回答

5

短語不透明類型只是表示包含或引用您不應該查看或甚至無法查看的數據的類型。例如,Quartz提供CGContextRef類型。提供了使用CGContextRef實例創建,獲取,操作和釋放圖形上下文的功能,但不能查看CGContextRef並查看裏面的內容。不使用所提供的功能,您無法合理使用或更改上下文。

+0

非常感謝您的答覆,但http://en.wikipedia.org/wiki/Opaque_data_type定義說:「在計算機科學中,一個不透明的數據類型是數據類型在接口中未完全定義,因此只能通過調用可訪問缺少信息的子例程來操作它的值,該類型的具體表示對其用戶是隱藏的。「他們的意思是不完整的?這與接口相同嗎? – Pamy 2012-03-09 07:07:27

+1

這意味着界面不會告訴你類型的內容。 CGContext.h告訴你'CGContextRef'是一個指向'struct CGContext'的指針,但這就是你所能得到的 - 沒有你可以看到的CGContext的定義。它當然是在框架中提供的,但是你不能看到它,這是什麼使它*不透明*。 – Caleb 2012-03-09 07:18:06

+0

非常感謝您的幫助。 – Pamy 2012-03-09 07:23:37