成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows Phone開(kāi)發(fā)(32):路徑之PathGeometry

移動(dòng)開(kāi)發(fā)
Windows Phone是微軟發(fā)布的一款手機(jī)操作系統(tǒng),它將微軟旗下的Xbox Live游戲、Xbox Music音樂(lè)與獨(dú)特的視頻體驗(yàn)整合至手機(jī)中。

說(shuō)起路徑這玩意兒,其實(shí)說(shuō)的就是Path類,它藏在命名空間 System.Windows.Shapes下,應(yīng)該好找,它有一個(gè)很重要的屬性Data,你不妨在“對(duì)象瀏覽器”中把它抓出來(lái)看看,該屬性為 System.Windows.Media.Geometry類型,如果大家再查看一下,這個(gè)Geometry類是一個(gè)抽象類,就是因?yàn)樗橄罅耍?不能被實(shí)例化。

然后,我們看看它有哪些派生類?

1、EllipseGeometry:好理解吧,一個(gè)幾何圖形,啥形狀的?圓 or 橢圓。

2、LineGeometry:這個(gè)家伙直來(lái)直去的,你更明白了,一條線的幾何圖形,兩點(diǎn)一線啊。

3、RectangleGeometry:這個(gè)也好說(shuō),二維矩形。

4、PathGeometry:這個(gè)東東就有些個(gè)復(fù)雜了,它可以由弧線,曲線、直線、橢圓、矩形等組成的復(fù)雜路徑。

5、GeometryGroup:如果上述幾何圖形滿足不了你貪婪的需求的話,不妨試試這個(gè),它可以把上述的各種幾何圖形組合成一個(gè)幾何圖形。

平常人們總喜歡從易到難地去說(shuō)明問(wèn)題,那么今天我們何不反過(guò)來(lái)試試,從難到易地去學(xué)習(xí),如何?

在以上所列之圖形中,當(dāng)數(shù)PathGeometry最復(fù)雜,我們就拿它開(kāi)刀,好不?只要把它干倒了,其實(shí)的就好學(xué)了。

首先,我們來(lái)看一看PathGeometry的結(jié)構(gòu)再說(shuō)吧。它包含一個(gè)Figures 集合,而集合中每個(gè)元素都是一個(gè)PathFigure對(duì)象。然后,再往下拆,PathFigure類也有個(gè)集合屬性Segments,該集合中的每個(gè)元素 為PathSegment對(duì)象,但我們從“對(duì)象瀏覽器”中看到,PathSegment是一個(gè)抽象類,所以我們要繼續(xù)往下找到它的派生類。

PathSegment類的派生如下圖所示:

接下來(lái),我們逐個(gè)演示一個(gè)它們的用法吧。

一、ArcSegment畫(huà)弧線

該類表示一個(gè)圓,IsLargeArc屬性指示圓弧是否大于180度,Point是圓弧的終點(diǎn),Size是圓弧的大小……其實(shí)這些屬性不必要一個(gè)個(gè)介紹,大家有興趣自己玩一下就知道了,下面給出一個(gè)例子。

  1. <Grid> 
  2.     <Path HorizontalAlignment="Stretch" 
  3.           VerticalAlignment="Stretch" 
  4.           Stroke="{StaticResource grBrush}" 
  5.           StrokeThickness="12"
  6.         <Path.Data> 
  7.             <PathGeometry> 
  8.                 <PathFigure StartPoint="325,190"
  9.                     <ArcSegment IsLargeArc="True" Point="365,410" Size="100,200" /> 
  10.                 </PathFigure> 
  11.             </PathGeometry> 
  12.         </Path.Data> 
  13.     </Path> 
  14. </Grid> 

運(yùn)行效果

 二、三次貝塞爾曲線

BezierSegment類具有兩個(gè)控制點(diǎn)和一個(gè)終點(diǎn),如下面例子:

  1. <Grid> 
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch" StrokeThickness="8" Stroke="{StaticResource grBrush}"
  3.         <Path.Data> 
  4.             <PathGeometry> 
  5.                 <PathFigure StartPoint="28,17"
  6.                     <BezierSegment Point1="250,25" Point2="-100,245" Point3="300,450"/> 
  7.                 </PathFigure> 
  8.             </PathGeometry> 
  9.         </Path.Data> 
  10.     </Path> 
  11. </Grid> 

運(yùn)行效果如下圖所示。

三、兩點(diǎn)一線LineSegment

這個(gè)就更簡(jiǎn)單了。

  1. <Grid> 
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stroke="{StaticResource grBrush}" StrokeThickness="8"
  3.         <Path.Data> 
  4.             <PathGeometry> 
  5.                 <PathFigure StartPoint="15,35"
  6.                     <LineSegment Point="120,245"/> 
  7.                     <LineSegment Point="370,385"/> 
  8.                 </PathFigure> 
  9.             </PathGeometry> 
  10.         </Path.Data> 
  11.     </Path> 
  12. </Grid> 

運(yùn)行效果如下圖所示:

四、更復(fù)雜的三次貝賽爾曲線PolyBezierSegment

這個(gè)家伙與前面說(shuō)的三次貝賽爾曲線相似,但可以定義一條或多條,Points集合中每三個(gè)點(diǎn)確定一段貝賽爾曲線。

  1. <Grid> 
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch" StrokeThickness="8" Stroke="{StaticResource grBrush}"
  3.         <Path.Data> 
  4.             <PathGeometry> 
  5.                 <PathFigure StartPoint="250,38"
  6.                     <PolyBezierSegment> 
  7.                         <PolyBezierSegment.Points> 
  8.                             <Point X="16" Y="75"/> 
  9.                             <Point X="300" Y="100"/> 
  10.                             <Point X="92" Y="134"/> 
  11.                             <Point X="45" Y="200"/> 
  12.                             <Point X="23" Y="280"/> 
  13.                             <Point X="358" Y="460"/> 
  14.                         </PolyBezierSegment.Points> 
  15.                     </PolyBezierSegment> 
  16.                 </PathFigure> 
  17.             </PathGeometry> 
  18.         </Path.Data> 
  19.     </Path> 
  20. </Grid> 

運(yùn)行效果如圖所示。

五、多線段集合PolyLineSegment

與前面所說(shuō)的線不同的是,它可以包含多條線。

  1. <Grid> 
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch" StrokeThickness="8" Stroke="{StaticResource grBrush}"
  3.         <Path.Data> 
  4.             <PathGeometry> 
  5.                 <PathFigure StartPoint="111,32"
  6.                     <LineSegment Point="79,133"/> 
  7.                     <LineSegment Point="122,298"/> 
  8.                     <LineSegment Point="365,277"/> 
  9.                     <LineSegment Point="22,399"/> 
  10.                     <LineSegment Point="380,458"/> 
  11.                 </PathFigure> 
  12.             </PathGeometry> 
  13.         </Path.Data> 
  14.     </Path> 
  15. </Grid> 

運(yùn)行效果如下圖所示。

六、復(fù)合二次貝賽爾曲線PolyQuadraticBezierSegment

該復(fù)合曲線可包含一或N多個(gè)二次貝賽爾曲線,由于二次貝賽爾曲線只有一個(gè)控制點(diǎn)和終點(diǎn),故Points是每?jī)蓚€(gè)點(diǎn)決定一條貝賽爾曲線。

  1. <Grid> 
  2.     <Path VerticalAlignment="Stretch" HorizontalAlignment="Stretch" StrokeThickness="8" Stroke="{StaticResource grBrush}"
  3.         <Path.Data> 
  4.             <PathGeometry> 
  5.                 <PathFigure StartPoint="20,25"
  6.                     <PolyQuadraticBezierSegment  Points="96,111 137,60 220,250 330,420"/> 
  7.                 </PathFigure> 
  8.             </PathGeometry> 
  9.         </Path.Data> 
  10.     </Path> 
  11. </Grid> 

運(yùn)行效果如下圖所示。

七、兩點(diǎn)決定一條二次貝賽爾曲線QuadraticBezierSegment

這個(gè)相信比上面那個(gè)好理解。

  1. <Grid> 
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch" StrokeThickness="8" Stroke="{StaticResource grBrush}"
  3.         <Path.Data> 
  4.             <PathGeometry> 
  5.                 <PathFigure StartPoint="200,25"
  6.                     <QuadraticBezierSegment Point1="10,300" Point2="385,435"/> 
  7.                 </PathFigure> 
  8.             </PathGeometry> 
  9.         </Path.Data> 
  10.     </Path> 
  11. </Grid> 

運(yùn)行效果如下圖所示。

責(zé)任編輯:閆佳明 來(lái)源: oschina
相關(guān)推薦

2013-04-23 16:55:15

Windows Pho路徑之其它Geomet

2013-04-23 16:59:22

Windows Pho路徑標(biāo)記語(yǔ)法

2013-07-31 13:13:50

Windows PhoMVVM模式

2013-04-24 13:31:59

Windows Pho動(dòng)畫(huà)之ColorAni

2013-04-24 13:19:06

Windows Pho動(dòng)畫(huà)DoubleAni

2013-04-24 13:43:10

Windows Pho動(dòng)畫(huà)PointAnim

2013-07-31 13:36:07

Windows PhoVS調(diào)試技巧Windows Pho

2010-04-21 17:07:54

Windows Pho

2013-07-30 12:37:56

Windows PhoWindows Pho

2013-04-17 14:00:06

Windows PhoWindows Pho

2011-06-07 12:42:15

Windows Pho

2013-04-16 17:02:50

Windows Pho概論

2013-04-19 16:34:56

Windows PhoWindows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho

2010-08-06 15:44:28

Windows PhoWindows PhoSilverlight

2010-04-08 17:40:23

Windows Pho

2010-07-16 15:29:02

Windows Pho

2012-08-16 10:35:50

Windows Pho

2013-04-17 14:47:19

Windows PhoWindows Pho

2011-06-07 11:35:38

Windows Pho
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩在线视频一区 | av网站在线看 | 三级免费 | 天堂综合| 日本精品一区 | 欧美一区二区三区 | 天天久久 | 男人天堂国产 | 久久久久久久久精 | 亚洲一区二区三区四区视频 | 亚洲精品美女 | 做a视频在线观看 | 成人久久18免费网站 | 国产一区不卡 | 国产美女视频 | 男人天堂99| 成人亚洲片 | 久久久久国产 | 国产精品欧美大片 | 国产精品免费福利 | 神马福利| 午夜色婷婷| 偷拍自拍在线观看 | 午夜精品一区二区三区在线观看 | 精品一区二区三区91 | 久久久久久国产精品mv | 日韩精品免费一区 | 国产精品福利在线观看 | 国产精品久久久亚洲 | 国产欧美久久一区二区三区 | 一级片免费视频 | 色吧综合 | a看片| 国产三级国产精品 | 国产成人综合久久 | 亚洲第一在线视频 | 久久精品亚洲精品国产欧美 | www.四虎.com| 亚洲精品99 | 国产精品久久久久久妇女6080 | 日韩欧美在线播放 |