Silverlight图形:几何图形2011-04-13 MSDN 什么是 Geometry?Geometry 对象(如 EllipseGeometry、PathGeometry 和 GeometryGroup)可以用于描绘 二维 (2-D) 形状的几何图形。这些几何图形的描绘具有许多用途,例如,定义一个要绘制到 屏幕的形状或者定义剪辑区域。Geometry 对象可以很简单(如矩形和圆),也可以是基于两 个或更多个 Geometry 对象创建的复合形状。使用 PathGeometry 对象可以创建更复杂的几 何图形,这些对象可用于描绘弧线和曲线。Geometry 与 Shape 的比较Geometry 和 Shape 类的相似之处在于它们均描绘二维形状(例如,比较 EllipseGeometry 和 Ellipse),但它们之间也存在一些重要的区别。例如,Shape 对象是 UIElement 对象,而 Geometry 对象不是。因为是 UIElement 对象,所以 Shape 对象可以 进行自我呈现并具有 Opacity、OpacityMask 以及 Geometry 对象所没有的其他图形属性。 尽管 Shape 对象比 Geometry 对象更易于使用,但 Geometry 对象更通用。一个 Shape(Path 类)使用 Geometry 来描绘内容。通过使用 Geometry 设置 Path 的 Data 属性以及设置它的 Fill 和 Stroke 属性,可以呈现 Geometry。采用 Geometry 的常见属性下表列出了采用 Geometry 对象的一些属性。
类型 | 属性 |
Path | Data |
UIElement | Clip |
简单的几何图形类型Geometry 对象可以分为三个类别:简单几何图形、路径几何图形以及复合几何图形。简单的几何图形类包括 LineGeometry、RectangleGeometry 和 EllipseGeometry,用于 创建基本的几何形状,如直线、矩形和圆。LineGeometry 通过指定直线的起点和终点来定义。RectangleGeometry 通过使用 Rect 结构来定义,该结构指定矩形的相对位置、高度和宽 度。您可以通过设置 RadiusX 和 RadiusY 属性来创建圆角矩形。EllipseGeometry 通过中心点、x 半径和 y 半径来定义。尽管可以通过使用 PathGeometry 或通过将 Geometry 对象组合在一起来创建这些形状以 及更复杂的形状,但是简单几何图形类提供了一种生成这些基本几何形状的简单方式。下面的示例演示如何创建并呈现 LineGeometry。前面已提到,Geometry 对象无法进行自 我绘制,因此本示例使用 Path 形状来呈现直线。因为直线没有面积,设置 Path 的 Fill 属性没有任何效果;因此仅指定 Stroke 和 StrokeThickness 属性。XAML
<Canvas Width="200" Height="200">
<Path Stroke="Black" StrokeThickness="1" >
<Path.Data>
<LineGeometry StartPoint="10,20" EndPoint="100,130" />
</Path.Data>
</Path>
</Canvas>