技术开发 频道

Windows Phone 7 学习之画图

  VerticalAlignment="Top" Width="450" >

  < Path.Data>

  < GeometryGroup FillRule="EvenOdd" >

  < EllipseGeometry Center="200,350" RadiusX="30" RadiusY="30"/>

  < RectangleGeometry Rect="150,350,200,100"/>

  < /GeometryGroup>

  < /Path.Data>

  < /Path>

  Tip:GeometryGroup 的FillRule 分为两种模式,一种为“不叠加-Evenodd”,另一种为“叠加-Nonzero”。

  Path 的另外一种实现方式为系列线实现模式,实现此模式须把Fill 去掉,否则会在线条之间填充颜色值。实现此系列线相对要复杂一些,必须掌握一定的mini Language 为其添加Data,下面是一些Mini Language 的命令:

  移动命令:

  M:绝对起始点 m:相对于前一点的起始点 如:M 100 ,200 M即Move 移动,移动到Left:100,Top:200这个位置开始

  直线命令:

  L:L/l 直线的结束点,如:L 100,200 即画从M的开始点左画100并停留在Top为200的位置,在这个位置开始弯折

  水平线命令:

  H:水平线的长度

  垂线命令:

  V:垂直线的长度

  二次贝赛尔曲线命令:

  Q:控制点坐标,结束点坐标

  如:Q 100 ,200 300,200

  三次贝赛尔曲线命令:

  C:控制点坐标,控制点坐标,结束点坐标

  光滑二次贝赛尔曲线命令:

  T:控制点坐标,结束点坐标

  如:T 100,200 300,200

  光滑三次贝赛 尔曲线命令:

  S:控制点坐标,结束点坐标

  如:S 100,200 200,300

  圆弧命令:

  A:弧大小(半径值)、弧角、优弧弧标记(1大于等于180度,0小于180度)、正负弧标记、结束点

  如:A 5,5 0 0 0 10,10

  闭合命令:

  Z:将创建的曲线封闭

  下面给出一个实现的样例代码:

  < Path Height="428"

  HorizontalAlignment="Left"

  Margin="12,207,0,0"

  Name="path3"

  Stroke="Red"

  Data="M 10,40 L 300,40 V100 H 240 C 100,200 200,400 300,200 S 300,240 400,175 "

  StrokeThickness="10" VerticalAlignment="Top" Width="456" />

0
相关文章