首页 > 代码库 > 十二,几何图形和图画

十二,几何图形和图画

  1. Path类是功能最强大的形状类,它能够包含任何简单形状、多级形状及更更复杂的曲线。Path.Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个或多个图形,Geometry是一个抽象类,指定Data时需要使用以下Geometry类的派生类:
    QQ截图20140821001107
    路径和几何图形之间的区别:几何图形定义形状,而路径用于绘制形状,因此,Geometry对象为形状定义了坐标、尺寸等细节,而Path对象提供了绘制形状所使用的Stroke和Fill画刷,Path类还继承自UIElement基础架构中的特性,如鼠标和键盘处理。
    Geometry继承自Freezable类,所以它的派生类都支持更改通知,因此,如果使用几何图形创建了一个路径,然后修改该几何图形,路径就会被重新绘制。
    1. LineGeometryRectangleGeometryEllipseGeometry几何形状直接和Line、Rectangle、Ellipse形状对应。如下标记分别将Rectangle、Line和Ellipse形状转换为Path元素的标记:    
      <Rectangle Width="80" Height="50" Fill="Red" Stroke="Yellow" RadiusX="10" RadiusY="10"></Rectangle><Path Fill="Red" Stroke="Yellow" Canvas.Top="55">    <Path.Data>        <RectangleGeometry Rect="0,0,80,50" RadiusX="10" RadiusY="10"></RectangleGeometry>    </Path.Data></Path><Line Stroke="Yellow" X2="80" Y2="120" Y1="120" StrokeThickness="5"></Line><Path Stroke="Yellow" StrokeThickness="5">    <Path.Data>        <LineGeometry StartPoint="0,140" EndPoint="80,140"></LineGeometry>    </Path.Data></Path><Ellipse Fill="Red" Stroke="Yellow" Width="80" Height="50" Canvas.Top="160"></Ellipse><Path Fill="Red" Stroke="Yellow" Canvas.Top="215">    <Path.Data>        <EllipseGeometry RadiusX="40" RadiusY="25" Center="40,27"></EllipseGeometry>    </Path.Data></Path>