相关集合类:缓存

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 类定义的线段组成。