Silverlight学习笔记--绘制与着色(上)

Silverlight学习笔记--绘制与着色(上),第1张

概述最近通过看WebCase的录像来学习Silverlight,为了避免学了后面忘了前面,把录像中的重点整理成笔记记录下来。 通过录像来学习Silverlight,我推荐看苏鹏讲的Silverlight探秘系列课程,这个系列课程已经讲到50多讲了。由浅入深,而且连绵不断,确实很有帮助。   这篇博客是对 苏鹏讲解的“Silverlight探秘系列课程(3):绘制着色”的笔记,网上有很多地方都有这个课

最近通过看WebCase的录像来学习Silverlight,为了避免学了后面忘了前面,把录像中的重点整理成笔记记录下来。

通过录像来学习Silverlight,我推荐看苏鹏讲的Silverlight探秘系列课程,这个系列课程已经讲到50多讲了。由浅入深,而且连绵不断,确实很有帮助。

 

这篇博客是对 苏鹏讲解的“Silverlight探秘系列课程(3):绘制与着色”的笔记,网上有很多地方都有这个课程下载,我就不给链接地址了。不过推荐使用 iReaper 来下载讲座视频。

 

椭圆

<Ellipse    Height="200" WIDth="200"    stroke="Black" strokeThickness="10" Fill="SlateBlue"  />

stroke 属性来指定用于绘制椭圆轮廓的 Brush。 strokeThickness 属性指定椭圆轮廓的粗细。 Fill 属性来指定用于绘制椭圆内部区域的 Brush。

相对于父控件的定位可以有下面2种:

情况1:

<UserControl	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"	x:Class="SilverlightStudy.MainPage"	WIDth="640" Height="480"><Ellipse       Height="200" WIDth="250"      stroke="Black" strokeThickness="10" Fill="SlateBlue" 	  HorizontalAlignment="@R_403_6823@" VerticalAlignment="top" margin="10,12,0" />    UserControl>

情况2:

<UserControl	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"	x:Class="SilverlightStudy.MainPage"	WIDth="640" Height="480"><Canvas xmlns="http://schemas.microsoft.com/clIEnt/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">	<Ellipse       Height="200" WIDth="250"      stroke="Black" strokeThickness="10" Fill="SlateBlue" 	  Canvas.@R_403_6823@="50" Canvas.top="30" />    Canvas>    UserControl>


图像的遮挡
如果没有指定ZIndex, 则后画的遮挡了先画的;如果指定了ZIndex :则给定 element 的 value 越大,element 在前景中出现的可能性就越大。同样,如果 element 具有一个相对较低的 value,则 element 将可能出现在背景中。例如,具有 value 为 5 的 element 将出现在具有 value 为 4 的 element 的上方,后者又将出现在具有值为 3 的 element 的上方,依此类推。允许负值,并且这些负值也适用此优先级模式。 如下图,

 

<UserControl	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"	x:Class="SilverlightStudy.MainPage"	WIDth="640" Height="480"><Canvas >	<Ellipse      Canvas.ZIndex="3"      Canvas.@R_403_6823@="5" Canvas.top="5"      Height="200" WIDth="200"      stroke="Black" strokeThickness="10" Fill="Silver" />  <Ellipse      Canvas.ZIndex="2"      Canvas.@R_403_6823@="50" Canvas.top="50"      Height="200" WIDth="200"      stroke="Black" strokeThickness="10" Fill="DeepSkyBlue" />  <Ellipse      Canvas.ZIndex="-1"      Canvas.@R_403_6823@="95" Canvas.top="95"      Height="200" WIDth="200"      stroke="Black" strokeThickness="10" Fill="lime" />    Canvas>    UserControl>
效果图如下:

线条

<line X1="280" Y1="10" X2="10" Y2="280" stroke="Black" strokeThickness="5"/>

使用 line 元素的 X1 和 Y1 属性设置线条起点,并使用 line 元素的 X2 和 Y2 属性来设置线条终点。最后,设置 line 元素的 stroke 和 strokeThickness,因为没有笔画的线条是看不见的。为线条设置 Fill 元素将毫无意义,因为线条没有内部区域。

矩形

 <Rectangle    WIDth="200"    Height="100"    Fill="Blue"    stroke="Black" strokeThickness="4"    RadiusX="20" RadiusY="20"/>

若要绘制矩形圆角,请指定可选的 RadiusX 和 RadiusY 属性。RadiusX 和 RadiusY 属性设置用于使矩形的角变圆的椭圆的 x 轴和 y 轴半径。这两个的默认值为0,即,没有圆角。

封闭多边形

<polygon Points="10,10 10,110 110,85 45,10"      stroke="Black" strokeThickness="10" Fill="lightBlue"/>

注意,在可扩展应用程序标记语言 (XAML) 中,我们使用由逗号分隔的 x 和 y 坐标对组成的空格分隔列表来设置 Points 属性。即使用简单表示法, x1,y1 x2,y2 ... xn,yn。

未封闭多边形

我们还是使用上面的点,注意,这时候 Fill 意义不大,我们就没设置,这个值也是可设置的

<polyline Points="10,10"      stroke="Black" strokeThickness="10" />

效果如下:

增加 Fill="lightBlue" 带来的效果如下:

 

路径

<UserControl	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"	x:Class="SilverlightStudy.MainPage"	WIDth="640" Height="480"><Canvas>	<Path Data="M0,0 L11.5,0 11.5,30 5.75,40 0,30z"      stroke="Black" Fill="SlateBlue" Canvas.@R_403_6823@="118" Canvas.top="57" 	  UseLayoutRounding="False" />	  	<Path Data="M 10,100 C 10,300 300,-200 250,100z"      stroke="Red" Fill="Orange" Canvas.@R_403_6823@="54" Canvas.top="167" 	  UseLayoutRounding="False" />        <Path Data="M 0,200 L100,200 50,50z"      stroke="Black" Fill="Gray" Canvas.@R_403_6823@="397" Canvas.top="66" 	  UseLayoutRounding="False" />    Canvas>    UserControl>

上面 Path 元素的 Data 属性描述的是路径,这里的路径描述使用几何迷你语言命令,这个语言命令规范如下图:

参考资料:

WPF 中的形状和基本绘图概述
http://msdn.microsoft.com/zh-cn/library/ms747393.aspx

总结

以上是内存溢出为你收集整理的Silverlight学习笔记--绘制与着色(上)全部内容,希望文章能够帮你解决Silverlight学习笔记--绘制与着色(上)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1042343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存