转自:http://space.itpub.net/12639172/viewspace-234547 Line:在两点之间画出一条直线,需要指定起始点(X1、Y1)和终结点(X2、Y2)的坐标 Path:用来画出一系列的相连的圆弧或者线条,可以称之为“轨迹”,使用它可以画出任意复杂的形状,主要通过Data属性来展现 <Canvas Background="#CDFCAE"> <Path Stroke="red" strokeThickness="2" data="M 10,40 L 300,40 V 100 H 240 S 300,240 400,175"/> </Canvas> 对Data做一下简单的解释,Silverlight提供了一种称之为“迷你语言”的属性句法,来描述如何画出轨迹形状,包括M(移动命令,起始点)、L(直线,结束点)、H(水平线)、V(垂直线)、C(三次贝塞尔曲线)、Q(两次贝塞尔曲线)、A(椭圆弧曲线)、Z(结束命令)等 Polygon用来画多边形,需要用Points属性来指定几个特定的点 Points="50,20 300,20 300,160 200,160" http://www.cnblogs.com/ZhangHuaning/archive/2010/04/20/1716269.html LinearGradientBrush: LinearGradientBrush将会使用线性渐变来进行填充,需要设置渐变的坐标:起始点属性StartPoint和结束点EndPoint,两点的坐标最大值为1,最小值为0,用GradientStop来设置不同的颜色渐变以及它的偏移量 RadialGradientBrush: RadialGradientBrush使用放射性渐变来进行颜色填充,用GradientOrigin来指定放射源的位置坐标,Center指定图形的中心位置坐标,RadiusX和RadiusY分别指定在X轴和Y轴上的放射半径,同样使用GradientStop指定不同颜色的渐变及偏移量 ImageBrush ImageBrush使用图片来对图形进行填充,使用方式比较简单,我们只需要指定ImageSource属性就可以了,如下面的例子使用图片来填充一个矩形: <Canvas Background="#CDFCAE"> <Rectangle Canvas.Top="40" Canvas.Left="100" Width="300" Height="160" Stroke="Green" StrokeThickness="4" RadiusX="10" RadiusY="10"> <Rectangle.Fill> <ImageBrush ImageSource="bg1.png"></ImageBrush> </Rectangle.Fill> </Rectangle> </Canvas> 图形的简单处理 <Grid x:Name="LayoutRoot" Background="White"> <Rectangle Width="200" Height="100"> <Rectangle.Fill>//用图片填充 <ImageBrush ImageSource="s.jpg" Stretch="Uniform"> </ImageBrush> </Rectangle.Fill> </Rectangle> <Image Source="s.jpg"> <Image.Clip>//对图片裁剪 <EllipseGeometry Center="120,68" RadiusX="100" RadiusY="60"></EllipseGeometry> </Image.Clip> </Image> </Grid>