相關集合類:緩存
![clipboard.png clipboard.png](http://static.javashuo.com/static/loading.gif)
Geometry 類:今後抽象基類派生的類定義幾何形狀。 Geometry 對象可用於對二維圖形數據進行剪裁、命中測試和呈現。安全
-
幾何圖形與形狀比較佈局
- System.Windows.Shapes.Shape 類擁有Geometry 及其派生類所沒有的 Fill、 Stroke 和其餘呈現屬性。 Shape 類是一個 FrameworkElement,於是會參與佈局系統;其派生類可用做支持 UIElement 子項的任何元素的內容。
- 另外一方面,Geometry 類只定義形狀的幾何圖形,沒法呈現自身。 因爲它十分簡單,於是用途更加普遍。
- 可凍結功能:因爲繼承自 Freezable 類,所以 Geometry 類提供了一些特殊功能:Geometry 對象可按 資源中的方式進行聲明、在多個對象之間共享、設爲只讀以提升性能、進行克隆以及設爲線程安全。
- 對繼承者的說明:雖然此類是抽象的,但不能公開擴展它。
-
幾何圖形組合方式:性能
- GeometryGroup 使用一個或多個 Geometry 對象建立複合幾何圖形。
- CombinedGeometry 使用指定的布爾操做組合由兩個 Geometry 對象所描述的區域。
- Geometry 類的靜態 Combine 方法與 CombinedGeometry 對象具備徹底相同的行爲方式。
-
CombinedGeometry 類:測試
- 表示由兩個 Geometry 對象組合定義的二維幾何形狀。
- GeometryCombineMode 屬性指定如何組合兩個幾何圖形。 請注意,CombinedGeometry 組合兩個幾何圖形指定的區域,因此沒有區域(例如 LineGeometry)的幾何圖形將在組合後消失。
- 使用 CombinedGeometry 執行聯合操做時要謹慎,由於它會佔用大量的 CPU 資源。 大多數狀況下,使用 GeometryGroup 或 AddGeometry 的效果更佳。
-
僅當存在下列狀況之一時,才使用 CombinedGeometry:動畫
- 幾何圖形操做不是一個聯合。
- 兩個幾何圖形中任何一個都有一個 EvenOdd 的 FillRule 值,而且兩個幾何圖形都是自相交的(即 FillRule ).
- 時間不是問題,但須要注意空間的使用(例如,若是幾何圖形只被建立一次並進行緩存)。 一般狀況下,CombinedGeometry 生成的輸出小於 AddGeometry。
- 生成的幾何圖形將被繪製或用於路徑動畫,且 AddGeometry 並不提供所需的輪廓。
-
EllipseGeometry 類:表示圓或橢圓的幾何圖形。spa
-
EllipseGeometry 與 Ellipse 的比較:線程
- Ellipse 類具備 Fill、 Stroke 以及 EllipseGeometry 所沒有的其餘呈現屬性。 Ellipse 類是一個 FrameworkElement,於是會參與佈局系統;它可用做支持 UIElement 子級的任何元素的內容。
- 另外一方面,EllipseGeometry 類只定義橢圓的幾何圖形,沒法呈現自身。 因爲它十分簡單,於是用途更加普遍。
- 將 EllipseGeometry 類與 Path 元素或 GeometryDrawing 一塊兒使用能夠繪製一個橢圓,將該類與 UIElement 的 Clip 屬性一塊兒使用能夠定義一個橢圓形剪裁區域。
- LineGeometry 類:表示線條的幾何圖形。
若要建立多條相互鏈接的線,請使用具備 PathFigure 和 PathGeometry 類的 LineSegment 或 Polyline 線段。
- RectangleGeometry 類:描述二維矩形。
-
PathGeometry 類:表示一個可能由弧、曲線、橢圓、直線和矩形組成的複雜形狀。orm
- 每一個 PathGeometry 對象均可定義 PathFigure 對象的集合。
- 每一個 PathFigure 對象均可由一個或多個 PathSegment 對象組成,例如 ArcSegment 和 LineSegment,它們實際上定義了本身的形狀。
- PathGeometry 的填充區域經過如下方法定義:採用全部包含的 PathFigure 對象,這些對象的 IsFilled 屬性設置爲 true,並應用 FillRule 肯定封閉區域。
-
GeometryGroup 類:表示由其餘 Geometry 對象組成的複合幾何圖形。對象
- GeometryGroup 也可從任意數量的幾何圖形對象中建立複合幾何圖形。
- GeometryGroup 使用 FillRule 屬性指定其幾何圖形對象組合的方式。
- 值得注意的是, GeometryCollection 自己不是複合幾何圖形,可是 GeometryGroup 類卻使用它來存儲 Geometry 對象。
-
StreamGeometry 類:定義幾何形狀,並使用 StreamGeometryContext 進行描述。 此幾何圖形是 PathGeometry 的輕量替代圖形:它不支持數據綁定、動畫或修改。
- 使用 StreamGeometry。 因爲它的高效,StreamGeometry 類是描繪裝飾物的理想選擇。
- 若是 StreamGeometry 包含 Transform 或任何未描邊或未填充的線段,則不能對其進行序列化。
- 與PathGeometry比較:兩種 mini-language 是很是類似的。 只要可使用 StreamGeometry,便老是可使用 PathGeometry;若是您在建立路徑以後不須要對其進行修改,請使用 StreamGeometry;若是您須要修改路徑,請使用 PathGeometry。
-
PathFigure 類:表示幾何圖形的一個子部分、一系列單獨鏈接的二維幾何線段。
- PathGeometry 由一個或多個圖形組成,這些圖形由 PathFigure 類表示。
- 每個圖形自己又由一條或多條由 PathSegment 類定義的線段組成。